diff --git a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H index 397e893035..e4fa5cd6b3 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H @@ -5,6 +5,8 @@ tmp UEqn fvm::ddt(rho, U) + fvm::div(phi, U) + turbulence->divDevRhoReff(U) + == + sources(rho, U) ); UEqn().relax(); @@ -13,6 +15,6 @@ sources.constrain(UEqn()); if (pimple.momentumPredictor()) { - solve(UEqn() == -fvc::grad(p) + sources(rho, U)); + solve(UEqn() == -fvc::grad(p)); K = 0.5*magSqr(U); } diff --git a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H index 5f28a3456d..0d1f3e25d4 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H @@ -5,7 +5,7 @@ rho.relax(); volScalarField rAU(1.0/UEqn().A()); volVectorField HbyA("HbyA", U); -HbyA = rAU*(UEqn() == sources(rho, U))().H(); +HbyA = rAU*UEqn().H(); if (pimple.nCorrPISO() <= 1) { @@ -24,6 +24,8 @@ if (pimple.transonic()) ) ); + sources.relativeFlux(fvc::interpolate(psi), phid); + volScalarField Dp("Dp", rho*rAU); while (pimple.correctNonOrthogonal()) @@ -59,6 +61,8 @@ else ) ); + sources.relativeFlux(fvc::interpolate(rho), phiHbyA); + volScalarField Dp("Dp", rho*rAU); while (pimple.correctNonOrthogonal()) diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/files b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/files new file mode 100644 index 0000000000..ff61e6022f --- /dev/null +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/files @@ -0,0 +1,3 @@ +rhoLTSPimpleFoam.C + +EXE = $(FOAM_APPBIN)/rhoLTSPimpleFoam diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options similarity index 100% rename from applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/Make/options rename to applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C similarity index 94% rename from applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C rename to applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C index 18a32a1791..ccbba350c2 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C @@ -26,7 +26,7 @@ Application Description Transient solver for laminar or turbulent flow of compressible fluids - with support for porous media and MRF for HVAC and similar applications. + with support for run-time selectable sources, e.g. MRF, explicit porosity. Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and pseudo-transient simulations with support for local time-stepping for @@ -37,8 +37,6 @@ Description #include "fvCFD.H" #include "psiThermo.H" #include "turbulenceModel.H" -#include "IOMRFZoneList.H" -#include "IOporosityModelList.H" #include "IObasicSourceList.H" #include "fvcSmooth.H" #include "pimpleControl.H" @@ -56,7 +54,6 @@ int main(int argc, char *argv[]) #include "setInitialrDeltaT.H" #include "createFields.H" - #include "createZones.H" #include "initContinuityErrs.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/setInitialrDeltaT.H b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/setInitialrDeltaT.H similarity index 100% rename from applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/setInitialrDeltaT.H rename to applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/setInitialrDeltaT.H diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/setrDeltaT.H b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/setrDeltaT.H similarity index 100% rename from applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/setrDeltaT.H rename to applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/setrDeltaT.H diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/Make/files b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/Make/files deleted file mode 100644 index 3b438a6177..0000000000 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -rhoPorousMRFLTSPimpleFoam.C - -EXE = $(FOAM_APPBIN)/rhoPorousMRFLTSPimpleFoam diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/files b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/files deleted file mode 100644 index a798455eb7..0000000000 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/files +++ /dev/null @@ -1,4 +0,0 @@ -rhoPorousMRFPimpleFoam.C - -EXE = $(FOAM_APPBIN)/rhoPorousMRFPimpleFoam - diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/options deleted file mode 100644 index c78d474b4f..0000000000 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/options +++ /dev/null @@ -1,20 +0,0 @@ -EXE_INC = \ - -I.. \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \ - -I$(LIB_SRC)/finiteVolume/cfdTools \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ - -I$(LIB_SRC)/fieldSources/lnInclude - -EXE_LIBS = \ - -lfluidThermophysicalModels \ - -lspecie \ - -lcompressibleTurbulenceModel \ - -lcompressibleRASModels \ - -lcompressibleLESModels \ - -lfiniteVolume \ - -lmeshTools \ - -lsampling \ - -lfieldSources diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/UEqn.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/UEqn.H deleted file mode 100644 index 9651610157..0000000000 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/UEqn.H +++ /dev/null @@ -1,22 +0,0 @@ -// Solve the Momentum equation - -tmp UEqn -( - //pZones.ddt(rho, U) - fvm::ddt(rho, U) - + fvm::div(phi, U) - + turbulence->divDevRhoReff(U) -); - -UEqn().relax(); - -mrfZones.addCoriolis(rho, UEqn()); - -pZones.addResistance(UEqn()); - -sources.constrain(UEqn()); - -if (pimple.momentumPredictor()) -{ - solve(UEqn() == -fvc::grad(p) + sources(rho, U)); -} diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H deleted file mode 100644 index f6c7e4dddf..0000000000 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H +++ /dev/null @@ -1,5 +0,0 @@ - IOMRFZoneList mrfZones(mesh); - mrfZones.correctBoundaryVelocity(U); - - IOporosityModelList pZones(mesh); - Switch pressureImplicitPorosity(false); diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/pEqn.H deleted file mode 100644 index 304798b966..0000000000 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/pEqn.H +++ /dev/null @@ -1,111 +0,0 @@ -rho = thermo.rho(); -rho = max(rho, rhoMin); -rho = min(rho, rhoMax); -rho.relax(); - -volScalarField rAU(1.0/UEqn().A()); -volVectorField HbyA("HbyA", U); -HbyA = rAU*(UEqn() == sources(rho, U))().H(); - -if (pimple.nCorrPISO() <= 1) -{ - UEqn.clear(); -} - -if (pimple.transonic()) -{ - surfaceScalarField phid - ( - "phid", - fvc::interpolate(psi) - *( - (fvc::interpolate(HbyA) & mesh.Sf()) - + fvc::ddtPhiCorr(rAU, rho, U, phi) - ) - ); - mrfZones.relativeFlux(fvc::interpolate(psi), phid); - - volScalarField Dp("Dp", rho*rAU); - - while (pimple.correctNonOrthogonal()) - { - fvScalarMatrix pEqn - ( - fvm::ddt(psi, p) - + fvm::div(phid, p) - - fvm::laplacian(Dp, p) - == - sources(psi, p, rho.name()) - ); - - sources.constrain(pEqn, rho.name()); - - pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); - - if (pimple.finalNonOrthogonalIter()) - { - phi == pEqn.flux(); - } - } -} -else -{ - surfaceScalarField phiHbyA - ( - "phiHbyA", - fvc::interpolate(rho) - *( - (fvc::interpolate(HbyA) & mesh.Sf()) - + fvc::ddtPhiCorr(rAU, rho, U, phi) - ) - ); - - mrfZones.relativeFlux(fvc::interpolate(rho), phiHbyA); - - volScalarField Dp("Dp", rho*rAU); - - while (pimple.correctNonOrthogonal()) - { - // Pressure corrector - fvScalarMatrix pEqn - ( - fvm::ddt(psi, p) - + fvc::div(phiHbyA) - - fvm::laplacian(Dp, p) - == - sources(psi, p, rho.name()) - ); - - sources.constrain(pEqn, rho.name()); - - pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); - - if (pimple.finalNonOrthogonalIter()) - { - phi = phiHbyA + pEqn.flux(); - } - } -} - -#include "rhoEqn.H" -#include "compressibleContinuityErrs.H" - -// Explicitly relax pressure for momentum corrector -p.relax(); - -rho = thermo.rho(); -rho = max(rho, rhoMin); -rho = min(rho, rhoMax); -rho.relax(); -Info<< "rho max/min : " << max(rho).value() - << " " << min(rho).value() << endl; - -U = HbyA - rAU*fvc::grad(p); -U.correctBoundaryConditions(); -sources.correct(U); -K = 0.5*magSqr(U); - -if (thermo.dpdt()) -{ - dpdt = fvc::ddt(p); -} diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C deleted file mode 100644 index 0975b0de2b..0000000000 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C +++ /dev/null @@ -1,109 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - rhoPorousMRFPimpleFoam - -Description - Transient solver for laminar or turbulent flow of compressible fluids - with support for porous media and MRF for HVAC and similar applications. - - Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and - pseudo-transient simulations. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "psiThermo.H" -#include "turbulenceModel.H" -#include "bound.H" -#include "IOMRFZoneList.H" -#include "IOporosityModelList.H" -#include "IObasicSourceList.H" -#include "pimpleControl.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #include "setRootCase.H" - #include "createTime.H" - #include "createMesh.H" - - pimpleControl pimple(mesh); - - #include "createFields.H" - #include "createZones.H" - #include "initContinuityErrs.H" - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (runTime.run()) - { - #include "readTimeControls.H" - #include "compressibleCourantNo.H" - #include "setDeltaT.H" - - runTime++; - - Info<< "Time = " << runTime.timeName() << nl << endl; - - if (pimple.nCorrPIMPLE() <= 1) - { - #include "rhoEqn.H" - } - - // --- Pressure-velocity PIMPLE corrector loop - while (pimple.loop()) - { - #include "UEqn.H" - #include "EEqn.H" - - // --- Pressure corrector loop - while (pimple.correct()) - { - #include "pEqn.H" - } - - if (pimple.turbCorr()) - { - turbulence->correct(); - } - } - - runTime.write(); - - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhoSimpleFoam/UEqn.H b/applications/solvers/compressible/rhoSimpleFoam/UEqn.H index 21ec2646be..8bbd960281 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/UEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/UEqn.H @@ -4,6 +4,8 @@ ( fvm::div(phi, U) + turbulence->divDevRhoReff(U) + == + sources(rho, U) ); UEqn().relax(); diff --git a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H index 2ea228f172..4f1ad08b28 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H @@ -6,7 +6,7 @@ volScalarField rAU(1.0/UEqn().A()); volVectorField HbyA("HbyA", U); - HbyA = rAU*(UEqn() == sources(rho, U))().H(); + HbyA = rAU*UEqn().H(); UEqn.clear(); @@ -20,6 +20,8 @@ fvc::interpolate(psi)*(fvc::interpolate(HbyA) & mesh.Sf()) ); + sources.relativeFlux(fvc::interpolate(psi), phid); + while (simple.correctNonOrthogonal()) { fvScalarMatrix pEqn @@ -53,6 +55,8 @@ fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf()) ); + sources.relativeFlux(fvc::interpolate(rho), phiHbyA); + closedVolume = adjustPhi(phiHbyA, U, p); while (simple.correctNonOrthogonal()) diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/Make/files b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/Make/files deleted file mode 100644 index d4792428af..0000000000 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -rhoPorousMRFSimpleFoam.C - -EXE = $(FOAM_APPBIN)/rhoPorousMRFSimpleFoam diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/EEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/EEqn.H similarity index 100% rename from applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/EEqn.H rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/EEqn.H diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/files b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/files new file mode 100644 index 0000000000..d108d0246e --- /dev/null +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/files @@ -0,0 +1,3 @@ +rhoPorousSimpleFoam.C + +EXE = $(FOAM_APPBIN)/rhoPorousSimpleFoam diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options similarity index 100% rename from applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/Make/options rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/UEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H similarity index 100% rename from applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/UEqn.H rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H similarity index 100% rename from applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createFields.H rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createZones.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createZones.H similarity index 100% rename from applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createZones.H rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createZones.H diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H similarity index 100% rename from applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/pEqn.H rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/rhoPorousMRFSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C similarity index 100% rename from applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/rhoPorousMRFSimpleFoam.C rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C diff --git a/applications/solvers/incompressible/pimpleFoam/UEqn.H b/applications/solvers/incompressible/pimpleFoam/UEqn.H index c274f6a2e8..84a404654a 100644 --- a/applications/solvers/incompressible/pimpleFoam/UEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/UEqn.H @@ -5,12 +5,10 @@ tmp UEqn fvm::ddt(U) + fvm::div(phi, U) + turbulence->divDevReff(U) + == + sources(U) ); -mrfZones.addCoriolis(UEqn()); - -pZones.addResistance(UEqn()); - UEqn().relax(); sources.constrain(UEqn()); @@ -19,5 +17,5 @@ volScalarField rAU(1.0/UEqn().A()); if (pimple.momentumPredictor()) { - solve(UEqn() == -fvc::grad(p) + sources(U)); + solve(UEqn() == -fvc::grad(p)); } diff --git a/applications/solvers/incompressible/pimpleFoam/createZones.H b/applications/solvers/incompressible/pimpleFoam/createZones.H deleted file mode 100644 index fcd02024d5..0000000000 --- a/applications/solvers/incompressible/pimpleFoam/createZones.H +++ /dev/null @@ -1,4 +0,0 @@ - IOMRFZoneList mrfZones(mesh); - mrfZones.correctBoundaryVelocity(U); - - IOporosityModelList pZones(mesh); diff --git a/applications/solvers/incompressible/pimpleFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pEqn.H index 1eb8590552..9fc62bd9f1 100644 --- a/applications/solvers/incompressible/pimpleFoam/pEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/pEqn.H @@ -1,5 +1,5 @@ volVectorField HbyA("HbyA", U); -HbyA = rAU*(UEqn() == sources(U))().H(); +HbyA = rAU*UEqn().H(); if (pimple.nCorrPISO() <= 1) { @@ -15,7 +15,7 @@ surfaceScalarField phiHbyA adjustPhi(phiHbyA, U, p); -mrfZones.relativeFlux(phiHbyA); +sources.relativeFlux(phiHbyA); // Non-orthogonal pressure corrector loop while (pimple.correctNonOrthogonal()) diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C index d55af57e34..8b0f240e4d 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C @@ -30,8 +30,7 @@ Description Sub-models include: - turbulence modelling, i.e. laminar, RAS or LES - - porosity (explicit treatment) - - Multiple Reference Frame (MRF) + - run-time selectable sources, e.g. MRF, explicit porosity \*---------------------------------------------------------------------------*/ @@ -51,7 +50,6 @@ int main(int argc, char *argv[]) #include "createTime.H" #include "createMesh.H" #include "createFields.H" - #include "createZones.H" #include "initContinuityErrs.H" pimpleControl pimple(mesh); diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/MRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/MRFSimpleFoam.C deleted file mode 100644 index 7c78107c53..0000000000 --- a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/MRFSimpleFoam.C +++ /dev/null @@ -1,85 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - MRFSimpleFoam - -Description - Steady-state solver for incompressible, turbulent flow of non-Newtonian - fluids with MRF regions. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "RASModel.H" -#include "IOMRFZoneList.H" -#include "simpleControl.H" -#include "IObasicSourceList.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #include "setRootCase.H" - - #include "createTime.H" - #include "createMesh.H" - #include "createFields.H" - #include "initContinuityErrs.H" - - IOMRFZoneList mrfZones(mesh); - mrfZones.correctBoundaryVelocity(U); - - simpleControl simple(mesh); - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (simple.loop()) - { - Info<< "Time = " << runTime.timeName() << nl << endl; - - // --- Pressure-velocity SIMPLE corrector - { - #include "UEqn.H" - #include "pEqn.H" - } - - turbulence->correct(); - - runTime.write(); - - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/files b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/files deleted file mode 100644 index 56c194272d..0000000000 --- a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -MRFSimpleFoam.C - -EXE = $(FOAM_APPBIN)/MRFSimpleFoam diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/options deleted file mode 100644 index e9f47baf9b..0000000000 --- a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/options +++ /dev/null @@ -1,19 +0,0 @@ -EXE_INC = \ - -I.. \ - -I$(LIB_SRC)/turbulenceModels \ - -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \ - -I$(LIB_SRC)/transportModels \ - -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/fieldSources/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude - - -EXE_LIBS = \ - -lincompressibleRASModels \ - -lincompressibleTransportModels \ - -lfiniteVolume \ - -lmeshTools \ - -lfieldSources \ - -lsampling diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H deleted file mode 100644 index d595a64c8f..0000000000 --- a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H +++ /dev/null @@ -1,17 +0,0 @@ - // Momentum predictor - - tmp UEqn - ( - fvm::div(phi, U) - + turbulence->divDevReff(U) - == - sources(U) - ); - - mrfZones.addCoriolis(UEqn()); - - UEqn().relax(); - - sources.constrain(UEqn()); - - solve(UEqn() == -fvc::grad(p)); diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/pEqn.H deleted file mode 100644 index b7bf83e8cd..0000000000 --- a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/pEqn.H +++ /dev/null @@ -1,38 +0,0 @@ -{ - volScalarField rAU(1.0/UEqn().A()); - volVectorField HbyA("HbyA", U); - HbyA = rAU*UEqn().H(); - UEqn.clear(); - - surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf()); - adjustPhi(phiHbyA, U, p); - mrfZones.relativeFlux(phiHbyA); - adjustPhi(phiHbyA, U, p); - - // Non-orthogonal pressure corrector loop - while (simple.correctNonOrthogonal()) - { - fvScalarMatrix pEqn - ( - fvm::laplacian(rAU, p) == fvc::div(phiHbyA) - ); - - pEqn.setReference(pRefCell, pRefValue); - pEqn.solve(); - - if (simple.finalNonOrthogonalIter()) - { - phi = phiHbyA - pEqn.flux(); - } - } - - #include "continuityErrs.H" - - // Explicitly relax pressure for momentum corrector - p.relax(); - - // Momentum corrector - U = HbyA - rAU*fvc::grad(p); - U.correctBoundaryConditions(); - sources.correct(U); -} diff --git a/applications/solvers/incompressible/simpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/pEqn.H index adc0c0761a..116929e3ea 100644 --- a/applications/solvers/incompressible/simpleFoam/pEqn.H +++ b/applications/solvers/incompressible/simpleFoam/pEqn.H @@ -7,6 +7,8 @@ surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf()); adjustPhi(phiHbyA, U, p); + sources.relativeFlux(phiHbyA); + // Non-orthogonal pressure corrector loop while (simple.correctNonOrthogonal()) { diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H index 632a160030..101c16d827 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H @@ -8,6 +8,8 @@ sources(U) ); + mrfZones.addCoriolis(UEqn()); + UEqn().relax(); sources.constrain(UEqn()); diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createPorousZones.H b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createZones.H similarity index 88% rename from applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createPorousZones.H rename to applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createZones.H index 5c6dbea19c..25c29f024c 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createPorousZones.H +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createZones.H @@ -1,3 +1,6 @@ + IOMRFZoneList mrfZones(mesh); + mrfZones.correctBoundaryVelocity(U); + IOporosityModelList pZones(mesh); Switch pressureImplicitPorosity(false); diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H index 8193e072c5..7aa494744f 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H @@ -12,6 +12,8 @@ UEqn.clear(); surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf()); adjustPhi(phiHbyA, U, p); +mrfZones.relativeFlux(phiHbyA); + while (simple.correctNonOrthogonal()) { tmp tpEqn; @@ -50,3 +52,4 @@ else } U.correctBoundaryConditions(); +sources.correct(U); diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C index bde78bcbe1..e7128f8c1f 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,15 +26,17 @@ Application Description Steady-state solver for incompressible, turbulent flow with - implicit or explicit porosity treatment + implicit or explicit porosity treatment and support for multiple reference + frames (MRF) \*---------------------------------------------------------------------------*/ #include "fvCFD.H" #include "singlePhaseTransportModel.H" #include "RASModel.H" -#include "IOporosityModelList.H" #include "simpleControl.H" +#include "IOMRFZoneList.H" +#include "IOporosityModelList.H" #include "IObasicSourceList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -48,7 +50,7 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" - #include "createPorousZones.H" + #include "createZones.H" #include "initContinuityErrs.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/fieldSources/Make/files b/src/fieldSources/Make/files index 11f91ff58a..a81d39f8f2 100644 --- a/src/fieldSources/Make/files +++ b/src/fieldSources/Make/files @@ -3,13 +3,17 @@ basicSource/basicSourceIO.C basicSource/basicSourceList.C basicSource/IObasicSourceList.C -general/semiImplicitSource/semiImplicitSource.C -general/explicitSetValue/explicitSetValue.C general/codedSource/codedSource.C +general/explicitSetValue/explicitSetValue.C +general/semiImplicitSource/semiImplicitSource.C +derived/actuationDiskSource/actuationDiskSource.C +derived/explicitPorositySource/explicitPorositySource.C +derived/fixedTemperatureSource/fixedTemperatureSource.C +derived/MRFSource/MRFSource.C derived/pressureGradientExplicitSource/pressureGradientExplicitSource.C derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C - +derived/radialActuationDiskSource/radialActuationDiskSource.C derived/rotorDiskSource/rotorDiskSource.C derived/rotorDiskSource/bladeModel/bladeModel.C derived/rotorDiskSource/profileModel/profileModel.C @@ -21,15 +25,11 @@ derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C derived/rotorDiskSource/trimModel/fixed/fixedTrim.C derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C -derived/actuationDiskSource/actuationDiskSource.C -derived/radialActuationDiskSource/radialActuationDiskSource.C - interRegion = derived/interRegionHeatTransferModel -$(interRegion)/interRegionHeatTransferModel/interRegionHeatTransferModel.C $(interRegion)/constantHeatTransfer/constantHeatTransfer.C +$(interRegion)/interRegionHeatTransferModel/interRegionHeatTransferModel.C $(interRegion)/tabulatedHeatTransfer/tabulatedHeatTransfer.C $(interRegion)/variableHeatTransfer/variableHeatTransfer.C -derived/fixedTemperatureSource/fixedTemperatureSource.C LIB = $(FOAM_LIBBIN)/libfieldSources diff --git a/src/fieldSources/basicSource/basicSource.C b/src/fieldSources/basicSource/basicSource.C index 9ebcdc5834..64be60fa84 100644 --- a/src/fieldSources/basicSource/basicSource.C +++ b/src/fieldSources/basicSource/basicSource.C @@ -481,4 +481,36 @@ void Foam::basicSource::setValue(fvMatrix& eqn, const label fieldI) } +void Foam::basicSource::relativeFlux(surfaceScalarField& phi) const +{ + // do nothing +} + + +void Foam::basicSource::relativeFlux +( + const surfaceScalarField& rho, + surfaceScalarField& phi +) const +{ + // do nothing +} + + +void Foam::basicSource::absoluteFlux(surfaceScalarField& phi) const +{ + // do nothing +} + + +void Foam::basicSource::absoluteFlux +( + const surfaceScalarField& rho, + surfaceScalarField& phi +) const +{ + // do nothing +} + + // ************************************************************************* // diff --git a/src/fieldSources/basicSource/basicSource.H b/src/fieldSources/basicSource/basicSource.H index 69e9dcf408..3e4740cead 100644 --- a/src/fieldSources/basicSource/basicSource.H +++ b/src/fieldSources/basicSource/basicSource.H @@ -427,6 +427,29 @@ public: ); + // Flux manipulations + + //- Make the given absolute flux relative + virtual void relativeFlux(surfaceScalarField& phi) const; + + //- Make the given absolute mass-flux relative + virtual void relativeFlux + ( + const surfaceScalarField& rho, + surfaceScalarField& phi + ) const; + + //- Make the given relative flux absolute + virtual void absoluteFlux(surfaceScalarField& phi) const; + + //- Make the given relative mass-flux absolute + virtual void absoluteFlux + ( + const surfaceScalarField& rho, + surfaceScalarField& phi + ) const; + + // I-O //- Write the source header information diff --git a/src/fieldSources/basicSource/basicSourceList.C b/src/fieldSources/basicSource/basicSourceList.C index 2d484868a4..a7224e9a6c 100644 --- a/src/fieldSources/basicSource/basicSourceList.C +++ b/src/fieldSources/basicSource/basicSourceList.C @@ -108,6 +108,50 @@ void Foam::basicSourceList::reset(const dictionary& dict) } +void Foam::basicSourceList::relativeFlux(surfaceScalarField& phi) const +{ + forAll(*this, i) + { + this->operator[](i).relativeFlux(phi); + } +} + + +void Foam::basicSourceList::relativeFlux +( + const surfaceScalarField& rho, + surfaceScalarField& phi +) const +{ + forAll(*this, i) + { + this->operator[](i).relativeFlux(rho, phi); + } +} + + +void Foam::basicSourceList::absoluteFlux(surfaceScalarField& phi) const +{ + forAll(*this, i) + { + this->operator[](i).absoluteFlux(phi); + } +} + + +void Foam::basicSourceList::absoluteFlux +( + const surfaceScalarField& rho, + surfaceScalarField& phi +) const +{ + forAll(*this, i) + { + this->operator[](i).absoluteFlux(rho, phi); + } +} + + bool Foam::basicSourceList::read(const dictionary& dict) { checkTimeIndex_ = mesh_.time().timeIndex() + 2; diff --git a/src/fieldSources/basicSource/basicSourceList.H b/src/fieldSources/basicSource/basicSourceList.H index 5f5e053a94..002d23b1fb 100644 --- a/src/fieldSources/basicSource/basicSourceList.H +++ b/src/fieldSources/basicSource/basicSourceList.H @@ -152,6 +152,29 @@ public: void constrain(fvMatrix& eqn, const word& fieldName); + // Flux manipulations + + //- Make the given absolute flux relative + void relativeFlux(surfaceScalarField& phi) const; + + //- Make the given absolute mass-flux relative + void relativeFlux + ( + const surfaceScalarField& rho, + surfaceScalarField& phi + ) const; + + //- Make the given relative flux absolute + void absoluteFlux(surfaceScalarField& phi) const; + + //- Make the given relative mass-flux absolute + void absoluteFlux + ( + const surfaceScalarField& rho, + surfaceScalarField& phi + ) const; + + // I-O //- Read dictionary diff --git a/src/fieldSources/derived/MRFSource/MRFSource.C b/src/fieldSources/derived/MRFSource/MRFSource.C new file mode 100644 index 0000000000..3b0582a232 --- /dev/null +++ b/src/fieldSources/derived/MRFSource/MRFSource.C @@ -0,0 +1,176 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*----------------------------------------------------------------------------*/ + +#include "MRFSource.H" +#include "fvMesh.H" +#include "fvMatrices.H" +#include "MRFZone.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(MRFSource, 0); + addToRunTimeSelectionTable + ( + basicSource, + MRFSource, + dictionary + ); +} + +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +void Foam::MRFSource::initialise() +{ + if (selectionMode_ != smCellZone) + { + FatalErrorIn("void Foam::MRFSource::initialise()") + << "The porosity region must be specified as a cellZone. Current " + << "selection mode is " << selectionModeTypeNames_[selectionMode_] + << exit(FatalError); + } + + mrfPtr_.reset + ( + new MRFZone + ( + name_, + mesh_, + coeffs_, + cellSetName_ + ) + ); + + const volVectorField& U = mesh_.lookupObject(UName_); + + mrfPtr_->correctBoundaryVelocity(const_cast(U)); + + fieldNames_.setSize(1, UName_); + applied_.setSize(1, false); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::MRFSource::MRFSource +( + const word& name, + const word& modelType, + const dictionary& dict, + const fvMesh& mesh +) +: + basicSource(name, modelType, dict, mesh), + mrfPtr_(NULL), + UName_(coeffs_.lookupOrDefault("UName", "U")), + rhoName_(coeffs_.lookupOrDefault("rhoName", "rho")) +{ + initialise(); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::MRFSource::addSup +( + fvMatrix& eqn, + const label fieldI +) +{ + if (eqn.dimensions() == dimForce) + { + const volScalarField& rho = + mesh_.lookupObject(rhoName_); + + // use 'true' flag to add to rhs of equation + mrfPtr_->addCoriolis(rho, eqn, true); + } + else + { + // use 'true' flag to add to rhs of equation + mrfPtr_->addCoriolis(eqn, true); + } +} + + +void Foam::MRFSource::relativeFlux(surfaceScalarField& phi) const +{ + mrfPtr_->relativeFlux(phi); +} + + +void Foam::MRFSource::relativeFlux +( + const surfaceScalarField& rho, + surfaceScalarField& phi +) const +{ + mrfPtr_->relativeFlux(rho, phi); +} + + +void Foam::MRFSource::absoluteFlux(surfaceScalarField& phi) const +{ + mrfPtr_->absoluteFlux(phi); +} + + +void Foam::MRFSource::absoluteFlux +( + const surfaceScalarField& rho, + surfaceScalarField& phi +) const +{ + mrfPtr_->absoluteFlux(rho, phi); +} + + +void Foam::MRFSource::writeData(Ostream& os) const +{ + os << indent << name_ << endl; + dict_.write(os); +} + + +bool Foam::MRFSource::read(const dictionary& dict) +{ + if (basicSource::read(dict)) + { + coeffs_.readIfPresent("UName", UName_); + coeffs_.readIfPresent("rhoName", rhoName_); + + return true; + } + else + { + return false; + } +} + + +// ************************************************************************* // diff --git a/src/fieldSources/derived/MRFSource/MRFSource.H b/src/fieldSources/derived/MRFSource/MRFSource.H new file mode 100644 index 0000000000..1742ac3011 --- /dev/null +++ b/src/fieldSources/derived/MRFSource/MRFSource.H @@ -0,0 +1,173 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::MRFSource + +Description + Multiple Reference Frame (MRF) source + + Example usage: + + MRFSourceCoeffs + { + origin (0 0 0); + axis (0 0 1); + omega 104.72; + } + +SourceFiles + MRFSource.C + +\*---------------------------------------------------------------------------*/ + +#ifndef MRFSource_H +#define MRFSource_H + +#include "basicSource.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class MRFZone; + +/*---------------------------------------------------------------------------*\ + Class MRFSource Declaration +\*---------------------------------------------------------------------------*/ + +class MRFSource +: + public basicSource +{ + +protected: + + // Protected data + + //- Run-time selectable porosity model + autoPtr mrfPtr_; + + //- Velocity field name, default = U + word UName_; + + //- Density field name, default = rho + word rhoName_; + + + // Protected Member Functions + + //- Initialise + void initialise(); + + +private: + + // Private Member Functions + + //- Disallow default bitwise copy construct + MRFSource(const MRFSource&); + + //- Disallow default bitwise assignment + void operator=(const MRFSource&); + + +public: + + //- Runtime type information + TypeName("MRFSource"); + + + // Constructors + + //- Construct from components + MRFSource + ( + const word& name, + const word& modelType, + const dictionary& dict, + const fvMesh& mesh + ); + + + //- Destructor + virtual ~MRFSource() + {} + + + // Member Functions + + // Add explicit and implicit contributions + + //- Vector + virtual void addSup + ( + fvMatrix& eqn, + const label fieldI + ); + + + // Flux manipulations + + //- Make the given absolute flux relative + virtual void relativeFlux(surfaceScalarField& phi) const; + + //- Make the given absolute mass-flux relative + virtual void relativeFlux + ( + const surfaceScalarField& rho, + surfaceScalarField& phi + ) const; + + //- Make the given relative flux absolute + virtual void absoluteFlux(surfaceScalarField& phi) const; + + //- Make the given relative mass-flux absolute + virtual void absoluteFlux + ( + const surfaceScalarField& rho, + surfaceScalarField& phi + ) const; + + + // I-O + + //- Write data + virtual void writeData(Ostream&) const; + + //- Read dictionary + virtual bool read(const dictionary& dict); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/fieldSources/derived/explicitPorositySource/explicitPorositySource.C b/src/fieldSources/derived/explicitPorositySource/explicitPorositySource.C new file mode 100644 index 0000000000..9c5eeb17ca --- /dev/null +++ b/src/fieldSources/derived/explicitPorositySource/explicitPorositySource.C @@ -0,0 +1,145 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*----------------------------------------------------------------------------*/ + +#include "explicitPorositySource.H" +#include "fvMesh.H" +#include "fvMatrices.H" +#include "porosityModel.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(explicitPorositySource, 0); + addToRunTimeSelectionTable + ( + basicSource, + explicitPorositySource, + dictionary + ); +} + +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +void Foam::explicitPorositySource::initialise() +{ + if (selectionMode_ != smCellZone) + { + FatalErrorIn("void Foam::explicitPorositySource::initialise()") + << "The porosity region must be specified as a cellZone. Current " + << "selection mode is " << selectionModeTypeNames_[selectionMode_] + << exit(FatalError); + } + + porosityPtr_.reset + ( + porosityModel::New + ( + name_, + mesh_, + coeffs_, + cellSetName_ + ).ptr() + ), + + fieldNames_.setSize(1, UName_); + applied_.setSize(1, false); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::explicitPorositySource::explicitPorositySource +( + const word& name, + const word& modelType, + const dictionary& dict, + const fvMesh& mesh +) +: + basicSource(name, modelType, dict, mesh), + porosityPtr_(NULL), + UName_(coeffs_.lookupOrDefault("UName", "U")), + rhoName_(coeffs_.lookupOrDefault("rhoName", "rho")), + muName_(coeffs_.lookupOrDefault("muName", "thermo:mu")) +{ + initialise(); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::explicitPorositySource::addSup +( + fvMatrix& eqn, + const label fieldI +) +{ + fvMatrix porosityEqn(eqn.psi(), eqn.dimensions()); + + if (eqn.dimensions() == dimForce) + { + const volScalarField& rho = + mesh_.lookupObject(rhoName_); + const volScalarField& mu = mesh_.lookupObject(muName_); + + porosityPtr_->addResistance(porosityEqn, rho, mu); + } + else + { + porosityPtr_->addResistance(porosityEqn); + } + + eqn -= porosityEqn; +} + + +void Foam::explicitPorositySource::writeData(Ostream& os) const +{ + os << indent << name_ << endl; + dict_.write(os); +} + + +bool Foam::explicitPorositySource::read(const dictionary& dict) +{ + if (basicSource::read(dict)) + { + coeffs_.readIfPresent("UName", UName_); + coeffs_.readIfPresent("rhoName", rhoName_); + coeffs_.readIfPresent("muName", muName_); + + return true; + } + else + { + return false; + } +} + + +// ************************************************************************* // diff --git a/src/fieldSources/derived/explicitPorositySource/explicitPorositySource.H b/src/fieldSources/derived/explicitPorositySource/explicitPorositySource.H new file mode 100644 index 0000000000..30fc6c90da --- /dev/null +++ b/src/fieldSources/derived/explicitPorositySource/explicitPorositySource.H @@ -0,0 +1,166 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::explicitPorositySource + +Description + Explicit porosity source + + Sources described by, for example using the DarcyForchheimer model: + + explicitPorositySourceCoeffs + { + type DarcyForchheimer; + DarcyForchheimerCoeffs + { + d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000); + f f [0 -1 0 0 0 0 0] (0 0 0); + + coordinateSystem + { + e1 (0.70710678 0.70710678 0); + e2 (0 0 1); + } + } + } + +Note: + The porous region must be selected as a cellZone. + +SourceFiles + explicitPorositySource.C + +\*---------------------------------------------------------------------------*/ + +#ifndef explicitPorositySource_H +#define explicitPorositySource_H + +#include "basicSource.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class porosityModel; + +/*---------------------------------------------------------------------------*\ + Class explicitPorositySource Declaration +\*---------------------------------------------------------------------------*/ + +class explicitPorositySource +: + public basicSource +{ + +protected: + + // Protected data + + //- Run-time selectable porosity model + autoPtr porosityPtr_; + + //- Velocity field name, default = U + word UName_; + + //- Density field name (compressible case only), default = rho + word rhoName_; + + //- Dynamic viscosity field name (compressible case only) + // default = thermo:mu + word muName_; + + + // Protected Member Functions + + //- Initialise + void initialise(); + + +private: + + // Private Member Functions + + //- Disallow default bitwise copy construct + explicitPorositySource(const explicitPorositySource&); + + //- Disallow default bitwise assignment + void operator=(const explicitPorositySource&); + + +public: + + //- Runtime type information + TypeName("explicitPorositySource"); + + + // Constructors + + //- Construct from components + explicitPorositySource + ( + const word& name, + const word& modelType, + const dictionary& dict, + const fvMesh& mesh + ); + + + //- Destructor + virtual ~explicitPorositySource() + {} + + + // Member Functions + + // Add explicit and implicit contributions + + //- Vector + virtual void addSup + ( + fvMatrix& eqn, + const label fieldI + ); + + + // I-O + + //- Write data + virtual void writeData(Ostream&) const; + + //- Read dictionary + virtual bool read(const dictionary& dict); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/fieldSources/derived/fixedTemperatureSource/fixedTemperatureSource.H b/src/fieldSources/derived/fixedTemperatureSource/fixedTemperatureSource.H index 7552934038..05789b808d 100644 --- a/src/fieldSources/derived/fixedTemperatureSource/fixedTemperatureSource.H +++ b/src/fieldSources/derived/fixedTemperatureSource/fixedTemperatureSource.H @@ -32,13 +32,12 @@ Description fixedTemperatureSourceCoeffs { - fieldNames (h e hs); // names of fields to apply source - mode uniform; // constant or lookup + mode uniform; // uniform or lookup // uniform option - temperature constant 500; // fixed temperature [K] + temperature constant 500; // fixed temperature with time [K] - // loolup option + // lookup option // TName T; // optional temperature field name } diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C index f09f38d4ee..c9de2ad6a5 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C @@ -230,15 +230,16 @@ Foam::MRFZone::MRFZone ( const word& name, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ) : mesh_(mesh), name_(name), coeffs_(dict), - active_(readBool(coeffs_.lookup("active"))), - cellZoneName_(coeffs_.lookup("cellZone")), - cellZoneID_(mesh_.cellZones().findZoneID(cellZoneName_)), + active_(true), + cellZoneName_(cellZoneName), + cellZoneID_(), excludedPatchNames_ ( coeffs_.lookupOrDefault("nonRotatingPatches", wordList(0)) @@ -247,12 +248,20 @@ Foam::MRFZone::MRFZone axis_(coeffs_.lookup("axis")), omega_(DataEntry::New("omega", coeffs_)) { + if (cellZoneName_ == word::null) + { + coeffs_.lookup("active") >> active_; + coeffs_.lookup("cellZone") >> cellZoneName_; + } + if (!active_) { cellZoneID_ = -1; } else { + cellZoneID_ = mesh_.cellZones().findZoneID(cellZoneName_); + const polyBoundaryMesh& patches = mesh_.boundaryMesh(); axis_ = axis_/mag(axis_); @@ -268,7 +277,13 @@ Foam::MRFZone::MRFZone { FatalErrorIn ( - "MRFZone(const word&, const fvMesh&, const dictionary&)" + "MRFZone" + "(" + "const word&, " + "const fvMesh&, " + "const dictionary&, " + "const word&" + ")" ) << "cannot find MRF patch " << excludedPatchNames_[i] << exit(FatalError); @@ -283,7 +298,13 @@ Foam::MRFZone::MRFZone { FatalErrorIn ( - "MRFZone(const word&, const fvMesh&, const dictionary&)" + "MRFZone" + "(" + "const word&, " + "const fvMesh&, " + "const dictionary&, " + "const word&" + ")" ) << "cannot find MRF cellZone " << cellZoneName_ << exit(FatalError); @@ -328,7 +349,7 @@ void Foam::MRFZone::addCoriolis } -void Foam::MRFZone::addCoriolis(fvVectorMatrix& UEqn) const +void Foam::MRFZone::addCoriolis(fvVectorMatrix& UEqn, const bool rhs) const { if (cellZoneID_ == -1) { @@ -342,10 +363,21 @@ void Foam::MRFZone::addCoriolis(fvVectorMatrix& UEqn) const const vector Omega = this->Omega(); - forAll(cells, i) + if (rhs) { - label celli = cells[i]; - Usource[celli] -= V[celli]*(Omega ^ U[celli]); + forAll(cells, i) + { + label celli = cells[i]; + Usource[celli] += V[celli]*(Omega ^ U[celli]); + } + } + else + { + forAll(cells, i) + { + label celli = cells[i]; + Usource[celli] -= V[celli]*(Omega ^ U[celli]); + } } } @@ -353,7 +385,8 @@ void Foam::MRFZone::addCoriolis(fvVectorMatrix& UEqn) const void Foam::MRFZone::addCoriolis ( const volScalarField& rho, - fvVectorMatrix& UEqn + fvVectorMatrix& UEqn, + const bool rhs ) const { if (cellZoneID_ == -1) @@ -368,10 +401,21 @@ void Foam::MRFZone::addCoriolis const vector Omega = this->Omega(); - forAll(cells, i) + if (rhs) { - label celli = cells[i]; - Usource[celli] -= V[celli]*rho[celli]*(Omega ^ U[celli]); + forAll(cells, i) + { + label celli = cells[i]; + Usource[celli] += V[celli]*rho[celli]*(Omega ^ U[celli]); + } + } + else + { + forAll(cells, i) + { + label celli = cells[i]; + Usource[celli] -= V[celli]*rho[celli]*(Omega ^ U[celli]); + } } } diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H index 5c6e05e2d3..5d379f2e40 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H @@ -144,7 +144,13 @@ public: // Constructors //- Construct from fvMesh - MRFZone(const word& name, const fvMesh& mesh, const dictionary& dict); + MRFZone + ( + const word& name, + const fvMesh& mesh, + const dictionary& dict, + const word& cellZoneName = word::null + ); //- Return clone autoPtr clone() const @@ -185,13 +191,20 @@ public: ) const; //- Add the Coriolis force contribution to the momentum equation - void addCoriolis(fvVectorMatrix& UEqn) const; + // Adds to the lhs of the equation; optionally add to rhs + void addCoriolis + ( + fvVectorMatrix& UEqn, + const bool rhs = false + ) const; //- Add the Coriolis force contribution to the momentum equation + // Adds to the lhs of the equation; optionally add to rhs void addCoriolis ( const volScalarField& rho, - fvVectorMatrix& UEqn + fvVectorMatrix& UEqn, + const bool rhs = false ) const; //- Make the given absolute velocity relative within the MRF region diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C index 36a9ba7ada..4860c4849b 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C +++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C @@ -47,10 +47,11 @@ Foam::porosityModels::DarcyForchheimer::DarcyForchheimer const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ) : - porosityModel(name, modelType, mesh, dict), + porosityModel(name, modelType, mesh, dict, cellZoneName), coordSys_(coeffs_, mesh), D_("D", dimless/sqr(dimLength), tensor::zero), F_("F", dimless/dimLength, tensor::zero), diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H index a85fae7fc6..ab3007d204 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H +++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H @@ -136,7 +136,8 @@ public: const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ); //- Destructor diff --git a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C index 55c4202d5a..59cef74368 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C +++ b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C @@ -102,10 +102,11 @@ Foam::porosityModels::fixedCoeff::fixedCoeff const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ) : - porosityModel(name, modelType, mesh, dict), + porosityModel(name, modelType, mesh, dict, cellZoneName), coordSys_(coeffs_, mesh), alpha_("alpha", dimless/dimTime, tensor::zero), beta_("beta", dimless/dimLength, tensor::zero) diff --git a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H index c0e28ac87e..61f4c36224 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H +++ b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H @@ -113,7 +113,8 @@ public: const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ); //- Destructor diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C index f0997c8222..6266e5bb49 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C +++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C @@ -73,17 +73,26 @@ Foam::porosityModel::porosityModel const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ) : name_(name), mesh_(mesh), dict_(dict), coeffs_(dict.subDict(modelType + "Coeffs")), - active_(readBool(dict_.lookup("active"))), - zoneName_(dict_.lookup("cellZone")), - cellZoneIds_(mesh_.cellZones().findIndices(zoneName_)) + active_(true), + zoneName_(cellZoneName), + cellZoneIds_() { + if (zoneName_ == word::null) + { + dict.lookup("actuve") >> active_; + dict_.lookup("cellZone") >> zoneName_; + } + + cellZoneIds_ = mesh_.cellZones().findIndices(zoneName_); + Info<< " creating porous zone: " << zoneName_ << endl; bool foundZone = !cellZoneIds_.empty(); @@ -99,6 +108,7 @@ Foam::porosityModel::porosityModel "const word&, " "const fvMesh&, " "const dictionary&" + "const word&, " ")" ) << "cannot find porous cellZone " << zoneName_ << exit(FatalError); diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H index 56131ba3dd..1c61e29f18 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H +++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H @@ -127,9 +127,10 @@ public: const word& modelName, const word& name, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ), - (modelName, name, mesh, dict) + (modelName, name, mesh, dict, cellZoneName) ); //- Constructor @@ -138,7 +139,8 @@ public: const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName = word::null ); //- Return pointer to new porosityModel object created on the freestore @@ -182,7 +184,8 @@ public: ( const word& name, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName = word::null ); //- Destructor diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C index 1da8c91c4d..d0fe203537 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C +++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C @@ -31,7 +31,8 @@ Foam::autoPtr Foam::porosityModel::New ( const word& name, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ) { const word modelType(dict.lookup("type")); @@ -48,9 +49,10 @@ Foam::autoPtr Foam::porosityModel::New ( "porosityModel::New" "(" - "const word& name," + "const word&, " "const fvMesh&, " - "const dictionary&" + "const dictionary&, " + "const word&" ")" ) << "Unknown " << typeName << " type " << modelType << nl << nl @@ -59,7 +61,17 @@ Foam::autoPtr Foam::porosityModel::New << exit(FatalError); } - return autoPtr(cstrIter()(name, modelType, mesh, dict)); + return autoPtr + ( + cstrIter() + ( + name, + modelType, + mesh, + dict, + cellZoneName + ) + ); } diff --git a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C index 15fbae39df..2516c8c6b2 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C +++ b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C @@ -47,10 +47,11 @@ Foam::porosityModels::powerLaw::powerLaw const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ) : - porosityModel(name, modelType, mesh, dict), + porosityModel(name, modelType, mesh, dict, cellZoneName), C0_(readScalar(coeffs_.lookup("C0"))), C1_(readScalar(coeffs_.lookup("C1"))), rhoName_(coeffs_.lookupOrDefault("rho", "rho")) diff --git a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H index 2c26946265..fb0797aaa7 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H +++ b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H @@ -117,7 +117,8 @@ public: const word& name, const word& modelType, const fvMesh& mesh, - const dictionary& dict + const dictionary& dict, + const word& cellZoneName ); //- Destructor diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/T b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/T similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/T rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/T diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/U b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/U similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/U rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/U diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/alphat b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/alphat similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/alphat rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/alphat diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/epsilon b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/epsilon similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/epsilon rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/epsilon diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/k b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/k similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/k rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/k diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/mut b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/mut similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/mut rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/mut diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/p b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/p similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/0/p rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/p diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/Allrun b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/Allrun similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/Allrun rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/Allrun diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/RASProperties b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/RASProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/RASProperties rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/RASProperties diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/polyMesh/boundary b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/polyMesh/boundary similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/polyMesh/boundary rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/polyMesh/boundary diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/porosityProperties b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/sourcesProperties similarity index 58% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/porosityProperties rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/sourcesProperties index 22add8ff29..6137d5900e 100644 --- a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/porosityProperties +++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/sourcesProperties @@ -11,27 +11,36 @@ FoamFile format ascii; class dictionary; location "constant"; - object porosityProperties; + object sourcesProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // porosity1 { - type DarcyForchheimer; - active yes; + type explicitPorositySource; + active true; + timeStart 0; + duration 1000000; + selectionMode cellZone; cellZone porosity; - DarcyForchheimerCoeffs + explicitPorositySourceCoeffs { - d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000); - f f [0 -1 0 0 0 0 0] (0 0 0); + type DarcyForchheimer; - coordinateSystem + DarcyForchheimerCoeffs { - e1 (0.70710678 0.70710678 0); - e2 (0 0 1); + d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000); + f f [0 -1 0 0 0 0 0] (0 0 0); + + coordinateSystem + { + e1 (0.70710678 0.70710678 0); + e2 (0 0 1); + } } } } -// ************************************************************************* // + +************************************************************************* // diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/thermophysicalProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/thermophysicalProperties diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/turbulenceProperties b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/turbulenceProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/turbulenceProperties rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/turbulenceProperties diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/system/controlDict b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/controlDict similarity index 96% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/system/controlDict rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/controlDict index 63886eda94..5a690b046d 100644 --- a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/system/controlDict +++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application rhoPorousMRFLTSPimpleFoam; +application rhoLTSPimpleFoam; startFrom startTime; diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/system/fvSchemes b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSchemes similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/system/fvSchemes rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSchemes diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/system/fvSolution b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSolution similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/system/fvSolution rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSolution diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/T b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/T similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/T rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/T diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/U b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/U similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/U rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/U diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/alphat b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/alphat similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/alphat rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/alphat diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/epsilon b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/epsilon rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/k b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/k rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/mut b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/mut similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/mut rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/mut diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/p b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/p similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/0/p rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/p diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/Allrun b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/Allrun similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/Allrun rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/Allrun diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/RASProperties b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/RASProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/RASProperties rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/RASProperties diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/polyMesh/boundary rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/boundary diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/porosityProperties b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/porosityProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/porosityProperties rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/porosityProperties diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/thermophysicalProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/thermophysicalProperties diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/transportProperties b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/transportProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/transportProperties rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/transportProperties diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/turbulenceProperties rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/makeMesh b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/makeMesh similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/makeMesh rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/makeMesh diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/system/controlDict b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/controlDict similarity index 96% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/system/controlDict rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/controlDict index 2e2970fd6f..3ee2c8f628 100644 --- a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application rhoPorousMRFPimpleFoam; +application rhoPimpleFoam; startFrom startTime; diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/system/fvSchemes rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSolution similarity index 100% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/system/fvSolution rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSolution diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/0 b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/0 deleted file mode 120000 index f1c4a884b5..0000000000 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/0 +++ /dev/null @@ -1 +0,0 @@ -../angledDuctImplicit/0 \ No newline at end of file diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/Allrun b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/Allrun deleted file mode 120000 index 09efeaf930..0000000000 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/Allrun +++ /dev/null @@ -1 +0,0 @@ -../angledDuctImplicit/Allrun \ No newline at end of file diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/MRFProperties b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/MRFProperties deleted file mode 100644 index fd749d0396..0000000000 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/MRFProperties +++ /dev/null @@ -1,20 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - location "constant"; - object MRFProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// none - -// ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/MRFProperties b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/MRFProperties deleted file mode 100644 index fd749d0396..0000000000 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/MRFProperties +++ /dev/null @@ -1,20 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - location "constant"; - object MRFProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// none - -// ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/0 b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/0 similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/0 rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/0 diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/Allrun b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/Allrun similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/Allrun rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/Allrun diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/constant b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/constant similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/constant rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/constant diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict similarity index 96% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict index 4208f0d756..4974079c9d 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application rhoPorousMRFSimpleFoam; +application rhoPorousSimpleFoam; startFrom startTime; diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSchemes rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSolution rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/T b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/T similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/T rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/T diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/U b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/U similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/U rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/U diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/alphat b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/alphat similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/alphat rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/alphat diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/epsilon b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/epsilon rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/k b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/k rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/mut b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/mut similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/mut rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/mut diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/p b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/p similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/0/p rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/p diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/Allrun b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/Allrun similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/Allrun rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/Allrun diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/MRFProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/MRFProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/MRFProperties rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/MRFProperties diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/blockMeshDict.m4 b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/blockMeshDict.m4 rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/porosityProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porosityProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/porosityProperties rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porosityProperties diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/sourcesProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/sourcesProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/sourcesProperties rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/sourcesProperties diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict similarity index 96% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/controlDict rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict index 22f84576a1..ded00ba569 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/controlDict +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application rhoPorousMRFSimpleFoam; +application rhoPorousSimpleFoam; startFrom startTime; diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSolution rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/MRFProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/T similarity index 56% rename from tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/MRFProperties rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/T index c4c20f18d0..561ca236be 100644 --- a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/MRFProperties +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/T @@ -9,24 +9,46 @@ FoamFile { version 2.0; format ascii; - class dictionary; - location "constant"; - object MRFProperties; + class volScalarField; + object T; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -zone1 +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 293; + +boundaryField { - cellZone rotor; - active on; + front + { + type zeroGradient; + } + back + { + type zeroGradient; + } + wall + { + type zeroGradient; + } + porosityWall + { + type zeroGradient; + } - // Fixed patches (by default they 'move' with the MRF zone) - nonRotatingPatches (); - - origin (0 0 0); - axis (0 0 1); - omega constant 1047.2; + inlet + { + type fixedValue; + value $internalField; + } + outlet + { + type inletOutlet; + value $internalField; + inletValue $internalField; + } } // ************************************************************************* // diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/U b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/U new file mode 100644 index 0000000000..20e25d12a8 --- /dev/null +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/U @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ 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 +{ + front + { + type fixedValue; + value uniform (0 0 0); + } + back + { + type fixedValue; + value uniform (0 0 0); + } + wall + { + type fixedValue; + value uniform (0 0 0); + } + porosityWall + { + type slip; + value uniform (0 0 0); + } + inlet + { + type flowRateInletVelocity; + massFlowRate constant 0.1; + value uniform (0 0 0); + } + outlet + { + type inletOutlet; + value uniform (0 0 0); + inletValue uniform (0 0 0); + } +} + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/alphat b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/alphat new file mode 100644 index 0000000000..f609fa6c14 --- /dev/null +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/alphat @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alphat; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + front + { + type alphatWallFunction; + value uniform 0; + } + back + { + type alphatWallFunction; + value uniform 0; + } + wall + { + type alphatWallFunction; + value uniform 0; + } + porosityWall + { + type alphatWallFunction; + value uniform 0; + } + inlet + { + type calculated; + value uniform 0; + } + outlet + { + type calculated; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/epsilon b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/epsilon new file mode 100644 index 0000000000..7588e13063 --- /dev/null +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/epsilon @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 2 -3 0 0 0 0 ]; + +internalField uniform 200; + +boundaryField +{ + front + { + type compressible::epsilonWallFunction; + value uniform 200; + } + + back + { + type compressible::epsilonWallFunction; + value uniform 200; + } + + wall + { + type compressible::epsilonWallFunction; + value uniform 200; + } + + porosityWall + { + type compressible::epsilonWallFunction; + value uniform 200; + } + + inlet + { + type compressible::turbulentMixingLengthDissipationRateInlet; + mixingLength 0.005; + value uniform 200; + } + + outlet + { + type inletOutlet; + inletValue uniform 200; + value uniform 200; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/k b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/k new file mode 100644 index 0000000000..85df9b83c3 --- /dev/null +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/k @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 2 -2 0 0 0 0 ]; + +internalField uniform 1; + +boundaryField +{ + front + { + type compressible::kqRWallFunction; + value uniform 1; + } + + back + { + type compressible::kqRWallFunction; + value uniform 1; + } + + wall + { + type compressible::kqRWallFunction; + value uniform 1; + } + + porosityWall + { + type compressible::kqRWallFunction; + value uniform 1; + } + + inlet + { + type turbulentIntensityKineticEnergyInlet; + intensity 0.05; + value uniform 1; + } + + outlet + { + type inletOutlet; + inletValue uniform 1; + value uniform 1; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/mut b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/mut new file mode 100644 index 0000000000..2ba718d5b5 --- /dev/null +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/mut @@ -0,0 +1,62 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object mut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 1 -1 -1 0 0 0 0 ]; + +internalField uniform 0; + +boundaryField +{ + front + { + type mutkWallFunction; + value uniform 0; + } + + back + { + type mutkWallFunction; + value uniform 0; + } + + wall + { + type mutkWallFunction; + value uniform 0; + } + + porosityWall + { + type mutkWallFunction; + value uniform 0; + } + + inlet + { + type calculated; + value uniform 0; + } + + outlet + { + type calculated; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/porosityProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/p similarity index 60% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/porosityProperties rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/p index adc5ef3cc2..21db04d610 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/constant/porosityProperties +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/p @@ -9,31 +9,43 @@ FoamFile { version 2.0; format ascii; - class dictionary; - location "constant"; - object porosityProperties; + class volScalarField; + object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -porosity1 +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 1.0e5; + +boundaryField { - type fixedCoeff; - active yes; - cellZone porosity; - - fixedCoeffCoeffs + front { - alpha alpha [0 0 -1 0 0 0 0] (500 -1000 -1000); - beta beta [0 -1 0 0 0 0 0] (0 0 0); - rhoRef 1; + type zeroGradient; + } + back + { + type zeroGradient; + } + wall + { + type zeroGradient; + } + porosityWall + { + type zeroGradient; + } - coordinateSystem - { - e1 (0.70710678 0.70710678 0); - e2 (0 0 1); - } + inlet + { + type zeroGradient; + } + outlet + { + type fixedValue; + value $internalField; } } - // ************************************************************************* // diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/Allrun b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/Allrun new file mode 100755 index 0000000000..e51c24da58 --- /dev/null +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/Allrun @@ -0,0 +1,14 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +application=`getApplication` + +runApplication blockMesh +runApplication $application + +# ----------------------------------------------------------------- end-of-file diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/RASProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/RASProperties rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/sourcesProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/sourcesProperties new file mode 100644 index 0000000000..d4d41da47f --- /dev/null +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/sourcesProperties @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object sourcesProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +fixedTemperaure1 +{ + type fixedTemperatureSource; + active true; + timeStart 0; + duration 1000000; + selectionMode cellZone; + cellZone porosity; + + fixedTemperatureSourceCoeffs + { + mode uniform; + temperature 350; + } +} + + +porosity1 +{ + type explicitPorositySource; + active true; + timeStart 0; + duration 1000000; + selectionMode cellZone; + cellZone porosity; + + explicitPorositySourceCoeffs + { + type fixedCoeff; + active yes; + cellZone porosity; + + fixedCoeffCoeffs + { + alpha alpha [0 0 -1 0 0 0 0] (500 -1000 -1000); + beta beta [0 -1 0 0 0 0 0] (0 0 0); + rhoRef 1; + + coordinateSystem + { + e1 (0.70710678 0.70710678 0); + e2 (0 0 1); + } + } + } +} + + +************************************************************************* // diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties similarity index 97% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties index 920fff435c..db1f5947af 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties @@ -17,7 +17,7 @@ FoamFile thermoType { - type heRhoThermo; + type hePsiThermo; mixture pureMixture; transport sutherland; thermo hConst; diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/controlDict b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict similarity index 96% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/controlDict rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict index 4208f0d756..2ec29c29a8 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application rhoPorousMRFSimpleFoam; +application rhoSimpleFoam; startFrom startTime; diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes similarity index 94% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSchemes rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes index e106336cb2..576b46fe86 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSchemes +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes @@ -39,10 +39,9 @@ laplacianSchemes { laplacian(muEff,U) Gauss linear corrected; laplacian(alphaEff,e) Gauss linear corrected; - laplacian((rho*rAU),p) Gauss linear corrected; + laplacian((rho*(1|A(U))),p) Gauss linear corrected; laplacian(DepsilonEff,epsilon) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; - laplacian(1,p) Gauss linear corrected; } interpolationSchemes diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution similarity index 100% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFProperties b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFProperties deleted file mode 100644 index 3089e7d826..0000000000 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFProperties +++ /dev/null @@ -1,28 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - location "constant"; - object MRFProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -zone1 -{ - cellZone rotor; - active yes; - origin (0 0 0); - axis (0 0 1); - omega 104.72; -} - - -// ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/U b/tutorials/incompressible/simpleFoam/mixerVessel2D/0/U similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/U rename to tutorials/incompressible/simpleFoam/mixerVessel2D/0/U diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/epsilon b/tutorials/incompressible/simpleFoam/mixerVessel2D/0/epsilon similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/epsilon rename to tutorials/incompressible/simpleFoam/mixerVessel2D/0/epsilon diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/k b/tutorials/incompressible/simpleFoam/mixerVessel2D/0/k similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/k rename to tutorials/incompressible/simpleFoam/mixerVessel2D/0/k diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/nut b/tutorials/incompressible/simpleFoam/mixerVessel2D/0/nut similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/nut rename to tutorials/incompressible/simpleFoam/mixerVessel2D/0/nut diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/p b/tutorials/incompressible/simpleFoam/mixerVessel2D/0/p similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/p rename to tutorials/incompressible/simpleFoam/mixerVessel2D/0/p diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/Allrun b/tutorials/incompressible/simpleFoam/mixerVessel2D/Allrun similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/Allrun rename to tutorials/incompressible/simpleFoam/mixerVessel2D/Allrun diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/RASProperties similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties rename to tutorials/incompressible/simpleFoam/mixerVessel2D/constant/RASProperties diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 rename to tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/boundary rename to tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/boundary diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/sourcesProperties b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/sourcesProperties similarity index 82% rename from tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/sourcesProperties rename to tutorials/incompressible/simpleFoam/mixerVessel2D/constant/sourcesProperties index ddd2bf9c9f..8b7fb7bcf2 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/sourcesProperties +++ b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/sourcesProperties @@ -15,19 +15,20 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -source1 +MRF1 { - type fixedTemperatureSource; + type MRFSource; active true; timeStart 0; - duration 1000000; + duration 1e100; selectionMode cellZone; - cellZone porosity; + cellZone rotor; - fixedTemperatureSourceCoeffs + MRFSourceCoeffs { - mode uniform; - temperature 350; + origin (0 0 0); + axis (0 0 1); + omega 104.72; } } diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/transportProperties similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties rename to tutorials/incompressible/simpleFoam/mixerVessel2D/constant/transportProperties diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/makeMesh b/tutorials/incompressible/simpleFoam/mixerVessel2D/makeMesh similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/makeMesh rename to tutorials/incompressible/simpleFoam/mixerVessel2D/makeMesh diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict b/tutorials/incompressible/simpleFoam/mixerVessel2D/system/controlDict similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict rename to tutorials/incompressible/simpleFoam/mixerVessel2D/system/controlDict diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes b/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSchemes similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes rename to tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSchemes diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution b/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSolution similarity index 100% rename from tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution rename to tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSolution