diff --git a/tutorials/buoyantSimpleRadiationFoam/Allclean b/tutorials/buoyantSimpleRadiationFoam/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..fa072cf0d64fe0670e5f4f1de38f50e09ec3341d --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/Allclean @@ -0,0 +1,16 @@ +#!/bin/sh + +currDir=`pwd` +application=`basename $currDir` +cases="hotRadiationRoom" + +tutorialPath=`dirname $0`/.. +. $tutorialPath/CleanFunctions + +wclean $application + +for case in $cases +do + cleanCase $case +done + diff --git a/tutorials/buoyantSimpleRadiationFoam/Allrun b/tutorials/buoyantSimpleRadiationFoam/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..201e1d3fce39c1e6c486e33b8a9ce0aa0ad2e284 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/Allrun @@ -0,0 +1,16 @@ +#!/bin/sh + +currDir=`pwd` +application=`basename $currDir` +cases="hotRadiationRoom" + +tutorialPath=`dirname $0`/.. +. $tutorialPath/RunFunctions + +compileApplication $currDir $application + +for case in $cases +do + runApplication blockMesh $case + runApplication $application $case +done diff --git a/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/Make/files b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/Make/files new file mode 100644 index 0000000000000000000000000000000000000000..5dccac44bcf6587b7384de56eeefb5755b3f96b9 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/Make/files @@ -0,0 +1,4 @@ +buoyantSimpleRadiationFoam.C + +EXE = $(FOAM_USER_APPBIN)/buoyantSimpleRadiationFoam + diff --git a/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/Make/options b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/Make/options new file mode 100644 index 0000000000000000000000000000000000000000..12943280aada9d1c5db3178dd4475c8b43265014 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/Make/options @@ -0,0 +1,14 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/cfdTools \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ + -I$(LIB_SRC)/turbulenceModels + +EXE_LIBS = \ + -lfiniteVolume \ + -lmeshTools \ + -lbasicThermophysicalModels \ + -lspecie \ + -lradiation \ + -lcompressibleTurbulenceModels diff --git a/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/UEqn.H b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/UEqn.H new file mode 100644 index 0000000000000000000000000000000000000000..d58a70a54e4f3a533ee3f149a757ed68c0438f14 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/UEqn.H @@ -0,0 +1,12 @@ + // Solve the Momentum equation + + tmp<fvVectorMatrix> UEqn + ( + fvm::div(phi, U) + - fvm::Sp(fvc::div(phi), U) + + turbulence->divDevRhoReff(U) + ); + + UEqn().relax(); + + solve(UEqn() == -fvc::grad(pd) - fvc::grad(rho)*gh); diff --git a/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C new file mode 100644 index 0000000000000000000000000000000000000000..649a7d97b0d7d45e34f0273bd5eadb150f55d30b --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C @@ -0,0 +1,89 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Application + buoyantSimpleRadiationFoam + +Description + Steady-state solver for buoyant, turbulent flow of compressible fluids, + including radiation, for ventilation and heat-transfer. + +\*---------------------------------------------------------------------------*/ + +#include "fvCFD.H" +#include "basicThermo.H" +#include "compressible/turbulenceModel/turbulenceModel.H" +#include "fixedGradientFvPatchFields.H" +#include "radiationModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + +# include "setRootCase.H" +# include "createTime.H" +# include "createMesh.H" +# include "readEnvironmentalProperties.H" +# include "createFields.H" +# include "initContinuityErrs.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + Info<< "\nStarting time loop\n" << endl; + + for (runTime++; !runTime.end(); runTime++) + { + Info<< "Time = " << runTime.timeName() << nl << endl; + +# include "readSIMPLEControls.H" + + pd.storePrevIter(); + rho.storePrevIter(); + + // Pressure-velocity SIMPLE corrector + { +# include "UEqn.H" + +# include "hEqn.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/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/createFields.H b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/createFields.H new file mode 100644 index 0000000000000000000000000000000000000000..707ef2fff88f99d71e627e5dd55402d83382a6bf --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/createFields.H @@ -0,0 +1,93 @@ + Info<< "Reading thermophysical properties\n" << endl; + + autoPtr<basicThermo> thermo + ( + basicThermo::New(mesh) + ); + + volScalarField rho + ( + IOobject + ( + "rho", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + thermo->rho() + ); + + volScalarField& p = thermo->p(); + volScalarField& h = thermo->h(); + const volScalarField& T = thermo->T(); + + + Info<< "Reading field U\n" << endl; + volVectorField U + ( + IOobject + ( + "U", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + +# include "compressibleCreatePhi.H" + + + Info<< "Creating turbulence model\n" << endl; + autoPtr<compressible::turbulenceModel> turbulence + ( + compressible::turbulenceModel::New + ( + rho, + U, + phi, + thermo() + ) + ); + + Info<< "Calculating field g.h\n" << endl; + volScalarField gh("gh", g & mesh.C()); + + + dimensionedScalar pRef("pRef", p.dimensions(), 1.0e5); + + Info<< "Creating field pd\n" << endl; + volScalarField pd + ( + IOobject + ( + "pd", + runTime.timeName(), + mesh + ), + p - rho*gh - pRef, + p.boundaryField().types() + ); + + + label pdRefCell = 0; + scalar pdRefValue = 0.0; + setRefCell + ( + pd, + mesh.solutionDict().subDict("SIMPLE"), + pdRefCell, + pdRefValue + ); + + + Info<< "Creating radiation model\n" << endl; + autoPtr<radiation::radiationModel> radiation + ( + radiation::radiationModel::New(T) + ); + + + dimensionedScalar initialMass = fvc::domainIntegrate(rho); diff --git a/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/hEqn.H b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/hEqn.H new file mode 100644 index 0000000000000000000000000000000000000000..88094369d4107068cf0fc9eeb788322a7f0158da --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/hEqn.H @@ -0,0 +1,20 @@ +{ + fvScalarMatrix hEqn + ( + fvm::div(phi, h) + - fvm::Sp(fvc::div(phi), h) + - fvm::laplacian(turbulence->alphaEff(), h) + == + fvc::div(phi/fvc::interpolate(rho)*fvc::interpolate(p)) + - p*fvc::div(phi/fvc::interpolate(rho)) + + radiation->Sh(thermo()) + ); + + hEqn.relax(); + + hEqn.solve(); + + thermo->correct(); + + radiation->correct(); +} diff --git a/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/pEqn.H b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/pEqn.H new file mode 100644 index 0000000000000000000000000000000000000000..8accc61b7f0e13f653a8c9d0705ad62daf5d63e1 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam/pEqn.H @@ -0,0 +1,47 @@ +pd.boundaryField() == + p.boundaryField() - rho.boundaryField()*gh.boundaryField() - pRef.value(); + +volScalarField rUA = 1.0/UEqn().A(); +U = rUA*UEqn().H(); +UEqn.clear(); +phi = fvc::interpolate(rho)*(fvc::interpolate(U) & mesh.Sf()); +bool closedVolume = adjustPhi(phi, U, p); +phi -= fvc::interpolate(rho*gh*rUA)*fvc::snGrad(rho)*mesh.magSf(); + +for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) +{ + fvScalarMatrix pdEqn + ( + fvm::laplacian(rho*rUA, pd) == fvc::div(phi) + ); + + pdEqn.setReference(pdRefCell, pdRefValue); + pdEqn.solve(); + + if (nonOrth == nNonOrthCorr) + { + phi -= pdEqn.flux(); + } +} + +#include "continuityErrs.H" + +// Explicitly relax pressure for momentum corrector +pd.relax(); + +p = pd + rho*gh + pRef; + +U -= rUA*(fvc::grad(pd) + fvc::grad(rho)*gh); +U.correctBoundaryConditions(); + +// For closed-volume cases adjust the pressure and density levels +// to obey overall mass continuity +if (closedVolume) +{ + p += (initialMass - fvc::domainIntegrate(thermo->psi()*p)) + /fvc::domainIntegrate(thermo->psi()); +} + +rho = thermo->rho(); +rho.relax(); +Info<< "rho max/min : " << max(rho).value() << " " << min(rho).value() << endl; diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G new file mode 100644 index 0000000000000000000000000000000000000000..dfd805fa71fb87d8c1c55582181f0f0b7c7d94f3 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G @@ -0,0 +1,65 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class volScalarField; + object G; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 0 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + floor + { + type MarshakRadiation; + T T; + emissivity 1; + value uniform 0; + } + + fixedWalls + { + type MarshakRadiation; + T T; + emissivity 1; + value uniform 0; + } + + ceiling + { + type MarshakRadiation; + T T; + emissivity 1; + value uniform 0; + } + + box + { + type MarshakRadiation; + T T; + emissivity 1; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T new file mode 100644 index 0000000000000000000000000000000000000000..0ecdeff71343a0853559122adcbefce4191fe65e --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T @@ -0,0 +1,56 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class volScalarField; + object T; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 300; + +boundaryField +{ + floor + { + type fixedValue; + value uniform 300.0; + } + + ceiling + { + type fixedValue; + value uniform 300.0; + } + + fixedWalls + { + type zeroGradient; + } + + box + { + type fixedValue; + value uniform 500.0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U new file mode 100644 index 0000000000000000000000000000000000000000..16f8002e98dc4aa45826a8f471077539171a2f9b --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U @@ -0,0 +1,58 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class volVectorField; + object U; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + floor + { + type fixedValue; + value uniform (0 0 0); + } + + ceiling + { + type fixedValue; + value uniform (0 0 0); + } + + fixedWalls + { + type fixedValue; + value uniform (0 0 0); + } + + box + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon new file mode 100644 index 0000000000000000000000000000000000000000..81909ac75d69c483a74e7e8566ee3be11d149377 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon @@ -0,0 +1,54 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class volScalarField; + object epsilon; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.01; + +boundaryField +{ + floor + { + type zeroGradient; + } + + ceiling + { + type zeroGradient; + } + + fixedWalls + { + type zeroGradient; + } + + box + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k new file mode 100644 index 0000000000000000000000000000000000000000..1b9213c0b9bc5feb576c9e36c48d0eb2dfd9c965 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k @@ -0,0 +1,54 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class volScalarField; + object k; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.1; + +boundaryField +{ + floor + { + type zeroGradient; + } + + ceiling + { + type zeroGradient; + } + + fixedWalls + { + type zeroGradient; + } + + box + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p new file mode 100644 index 0000000000000000000000000000000000000000..5d480870b214b8b691f317640c3d031e52f3357b --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p @@ -0,0 +1,58 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class volScalarField; + object p; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000; + +boundaryField +{ + floor + { + type fixedFluxBuoyantPressure; + value uniform 100000; + } + + ceiling + { + type fixedFluxBuoyantPressure; + value uniform 100000; + } + + fixedWalls + { + type fixedFluxBuoyantPressure; + value uniform 100000; + } + + box + { + type fixedFluxBuoyantPressure; + value uniform 100000; + } +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties new file mode 100644 index 0000000000000000000000000000000000000000..7b2cfed6faba45db705361179ae8d52323e920ca --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties @@ -0,0 +1,28 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object environmentalProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +g g [0 1 -2 0 0 0 0] (0 0 -9.81); + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..616eed6b757fa652d9b60bbb8804b86c21751783 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict @@ -0,0 +1,178 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object blockMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + ( 0.0 0.0 0.0) + ( 0.5 0.0 0.0) + ( 1.5 0.0 0.0) + (10.0 0.0 0.0) + ( 0.0 0.5 0.0) + ( 0.5 0.5 0.0) + ( 1.5 0.5 0.0) + (10.0 0.5 0.0) + ( 0.0 1.5 0.0) + ( 0.5 1.5 0.0) + ( 1.5 1.5 0.0) + (10.0 1.5 0.0) + ( 0.0 6.0 0.0) + ( 0.5 6.0 0.0) + ( 1.5 6.0 0.0) + (10.0 6.0 0.0) + + ( 0.0 0.0 0.5) + ( 0.5 0.0 0.5) + ( 1.5 0.0 0.5) + (10.0 0.0 0.5) + ( 0.0 0.5 0.5) + ( 0.5 0.5 0.5) + ( 1.5 0.5 0.5) + (10.0 0.5 0.5) + ( 0.0 1.5 0.5) + ( 0.5 1.5 0.5) + ( 1.5 1.5 0.5) + (10.0 1.5 0.5) + ( 0.0 6.0 0.5) + ( 0.5 6.0 0.5) + ( 1.5 6.0 0.5) + (10.0 6.0 0.5) + + ( 0.0 0.0 2.0) + ( 0.5 0.0 2.0) + ( 1.5 0.0 2.0) + (10.0 0.0 2.0) + ( 0.0 0.5 2.0) + ( 0.5 0.5 2.0) + ( 1.5 0.5 2.0) + (10.0 0.5 2.0) + ( 0.0 1.5 2.0) + ( 0.5 1.5 2.0) + ( 1.5 1.5 2.0) + (10.0 1.5 2.0) + ( 0.0 6.0 2.0) + ( 0.5 6.0 2.0) + ( 1.5 6.0 2.0) + (10.0 6.0 2.0) +); + +blocks +( + hex ( 0 1 5 4 16 17 21 20) ( 5 5 5) simpleGrading (1 1 1) + hex ( 1 2 6 5 17 18 22 21) (10 5 5) simpleGrading (1 1 1) + hex ( 2 3 7 6 18 19 23 22) (80 5 5) simpleGrading (1 1 1) + hex ( 4 5 9 8 20 21 25 24) ( 5 10 5) simpleGrading (1 1 1) + hex ( 6 7 11 10 22 23 27 26) (80 10 5) simpleGrading (1 1 1) + hex ( 8 9 13 12 24 25 29 28) ( 5 40 5) simpleGrading (1 1 1) + hex ( 9 10 14 13 25 26 30 29) (10 40 5) simpleGrading (1 1 1) + hex (10 11 15 14 26 27 31 30) (80 40 5) simpleGrading (1 1 1) + + hex (16 17 21 20 32 33 37 36) ( 5 5 15) simpleGrading (1 1 1) + hex (17 18 22 21 33 34 38 37) (10 5 15) simpleGrading (1 1 1) + hex (18 19 23 22 34 35 39 38) (80 5 15) simpleGrading (1 1 1) + hex (20 21 25 24 36 37 41 40) ( 5 10 15) simpleGrading (1 1 1) + + hex (21 22 26 25 37 38 42 41) (10 10 15) simpleGrading (1 1 1) + + hex (22 23 27 26 38 39 43 42) (80 10 15) simpleGrading (1 1 1) + hex (24 25 29 28 40 41 45 44) ( 5 40 15) simpleGrading (1 1 1) + hex (25 26 30 29 41 42 46 45) (10 40 15) simpleGrading (1 1 1) + hex (26 27 31 30 42 43 47 46) (80 40 15) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + wall box + ( + ( 6 22 21 5) + (10 26 22 6) + ( 9 25 26 10) + ( 5 21 25 9) + (22 26 25 21) + ) + wall floor + ( + ( 1 5 4 0) + ( 2 6 5 1) + ( 3 7 6 2) + ( 5 9 8 4) + ( 7 11 10 6) + ( 9 13 12 8) + (10 14 13 9) + (11 15 14 10) + ) + wall ceiling + ( + (33 37 36 32) + (34 38 37 33) + (35 39 38 34) + (37 41 40 36) + (38 42 41 37) + (39 43 42 38) + (41 45 44 40) + (42 46 45 41) + (43 47 46 42) + ) + wall fixedWalls + ( + ( 1 17 16 0) + ( 2 18 17 1) + ( 3 19 18 2) + (17 33 32 16) + (18 34 33 17) + (19 35 34 18) + + ( 7 23 19 3) + (11 27 23 7) + (15 31 27 11) + (23 39 35 19) + (27 43 39 23) + (31 47 43 27) + + (14 30 31 15) + (13 29 30 14) + (12 28 29 13) + (30 46 47 31) + (29 45 46 30) + (28 44 45 29) + + ( 8 24 28 12) + ( 4 20 24 8) + ( 0 16 20 4) + (24 40 44 28) + (20 36 40 24) + (16 32 36 20) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties new file mode 100644 index 0000000000000000000000000000000000000000..51ad413058820b8008fc7e36afef54022a1191e0 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties @@ -0,0 +1,55 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object environmentalProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +radiation on; + +radiationModel P1; + +noRadiation +{ +} + +P1Coeffs +{ +} + +absorptionEmissionModel constantAbsorptionEmission; + +constantAbsorptionEmissionCoeffs +{ + a a [ 0 -1 0 0 0 0 0] 0.5; + e e [ 0 -1 0 0 0 0 0] 0.5; + E E [ 1 -1 -3 0 0 0 0] 0.0; +} + +scatterModel constantScatter; + +constantScatterCoeffs +{ + sigma sigma [ 0 -1 0 0 0 0 0] 0.0; + C C [ 0 0 0 0 0 0 0] 0.0; +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties new file mode 100644 index 0000000000000000000000000000000000000000..ca90242d7d51bdd737438508ea0ae9d7cd54159f --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties @@ -0,0 +1,30 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object thermophysicalProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; + +mixture air 1 28.9 1000 0 1.8e-05 0.7; + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/turbulenceProperties b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/turbulenceProperties new file mode 100644 index 0000000000000000000000000000000000000000..48be4c90346552bcbb706994d5dc3245d42d1742 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/turbulenceProperties @@ -0,0 +1,105 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object turbulenceProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +turbulenceModel kEpsilon; + +turbulence on; + +laminarCoeffs +{ +} + +kEpsilonCoeffs +{ + Cmu Cmu [0 0 0 0 0 0 0] 0.09; + C1 C1 [0 0 0 0 0 0 0] 1.44; + C2 C2 [0 0 0 0 0 0 0] 1.92; + C3 C3 [0 0 0 0 0 0 0] 0.85; + alphah alphah [0 0 0 0 0 0 0] 1; + alphak alphak [0 0 0 0 0 0 0] 1; + alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; +} + +RNGkEpsilonCoeffs +{ + Cmu Cmu [0 0 0 0 0 0 0] 0.0845; + C1 C1 [0 0 0 0 0 0 0] 1.42; + C2 C2 [0 0 0 0 0 0 0] 1.68; + C3 C3 [0 0 0 0 0 0 0] -0.33; + alphah alphah [0 0 0 0 0 0 0] 1; + alphak alphaK [0 0 0 0 0 0 0] 1.39; + alphaEps alphaEps [0 0 0 0 0 0 0] 1.39; + eta0 eta0 [0 0 0 0 0 0 0] 4.38; + beta beta [0 0 0 0 0 0 0] 0.012; +} + +LaunderSharmaKECoeffs +{ + Cmu Cmu [0 0 0 0 0 0 0] 0.09; + C1 C1 [0 0 0 0 0 0 0] 1.44; + C2 C2 [0 0 0 0 0 0 0] 1.92; + C3 C3 [0 0 0 0 0 0 0] -0.33; + alphah alphah [0 0 0 0 0 0 0] 1; + alphak alphak [0 0 0 0 0 0 0] 1; + alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; +} + +LRRCoeffs +{ + Cmu Cmu [0 0 0 0 0 0 0] 0.09; + Clrr1 Clrr1 [0 0 0 0 0 0 0] 1.8; + Clrr2 Clrr2 [0 0 0 0 0 0 0] 0.6; + C1 C1 [0 0 0 0 0 0 0] 1.44; + C2 C2 [0 0 0 0 0 0 0] 1.92; + alphah alphah [0 0 0 0 0 0 0] 1; + Cs Cs [0 0 0 0 0 0 0] 0.25; + Ceps Ceps [0 0 0 0 0 0 0] 0.15; + alphaR alphaR [0 0 0 0 0 0 0] 1; + alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; +} + +LaunderGibsonRSTMCoeffs +{ + Cmu Cmu [0 0 0 0 0 0 0] 0.09; + Clg1 Clg1 [0 0 0 0 0 0 0] 1.8; + Clg2 Clg2 [0 0 0 0 0 0 0] 0.6; + C1 C1 [0 0 0 0 0 0 0] 1.44; + C2 C2 [0 0 0 0 0 0 0] 1.92; + alphah alphah [0 0 0 0 0 0 0] 1; + C1Ref C1Ref [0 0 0 0 0 0 0] 0.5; + C2Ref C2Ref [0 0 0 0 0 0 0] 0.3; + Cs Cs [0 0 0 0 0 0 0] 0.25; + Ceps Ceps [0 0 0 0 0 0 0] 0.15; + alphaR alphaR [0 0 0 0 0 0 0] 1; + alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; +} + +wallFunctionCoeffs +{ + kappa kappa [0 0 0 0 0 0 0] 0.4187; + E E [0 0 0 0 0 0 0] 9; +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..788d322513d60a9351555b95319bac3959196c8e --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict @@ -0,0 +1,56 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object controlDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application buoyantSimpleRadiationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 1000; + +deltaT 1; + +writeControl timeStep; + +writeInterval 100; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..31389fc51f754d0da3084d04eaa828284e33d719 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes @@ -0,0 +1,76 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object fvSchemes; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss upwind; + div(phi,h) Gauss upwind; + div(phi,k) Gauss upwind; + div(phi,epsilon) Gauss upwind; + div(phi,R) Gauss upwind; + div(R) Gauss linear; + div((muEff*dev2(grad(U).T()))) Gauss linear; +} + +laplacianSchemes +{ + default none; + laplacian(muEff,U) Gauss linear corrected; + laplacian((rho*(1|A(U))),pd) Gauss linear corrected; + laplacian(alphaEff,h) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DREff,R) Gauss linear corrected; + laplacian(gammaRad,G) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + pd; +} + + +// ************************************************************************* // diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..f7feeaa6efa82fe9adaa1a5b3a5ae9c5dfcfbc02 --- /dev/null +++ b/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution @@ -0,0 +1,84 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object fvSolution; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + pd PCG + { + preconditioner DIC; + tolerance 1e-06; + relTol 0.01; + }; + U PBiCG + { + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + }; + h PBiCG + { + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + }; + k PBiCG + { + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + }; + epsilon PBiCG + { + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + }; + G PCG + { + preconditioner DIC; + tolerance 1e-05; + relTol 0.1; + }; +} + +SIMPLE +{ + nNonOrthogonalCorrectors 0; + pdRefCell 0; + pdRefValue 0; +} + +relaxationFactors +{ + rho 1.0; + pd 0.3; + U 0.7; + h 0.7; + k 0.7; + epsilon 0.7; + G 0.7; +} + + +// ************************************************************************* //