From 719d567a629b302db10066a1c200db7db18a3913 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Mon, 12 Feb 2018 11:00:41 +0000 Subject: [PATCH 1/2] chtMultiRegionFoam: Added heatedDuct tutorial This is a CHT case which uses snappyHexMesh. It is a tutorial, in the traditional sense, in that it has been designed for training purposes. It does not rely on changeDictionary, surface utilities, or extensive scripting. This work was supported by Colin Moughton, at Strix --- .../chtMultiRegionFoam/heatedDuct/0/fluid/T | 46 +++ .../chtMultiRegionFoam/heatedDuct/0/fluid/U | 42 +++ .../chtMultiRegionFoam/heatedDuct/0/fluid/p | 33 ++ .../heatedDuct/0/fluid/p_rgh | 38 ++ .../chtMultiRegionFoam/heatedDuct/0/heater/T | 39 +++ .../chtMultiRegionFoam/heatedDuct/0/heater/p | 33 ++ .../chtMultiRegionFoam/heatedDuct/0/metal/T | 46 +++ .../chtMultiRegionFoam/heatedDuct/0/metal/p | 33 ++ .../chtMultiRegionFoam/heatedDuct/Allclean | 9 + .../chtMultiRegionFoam/heatedDuct/Allrun | 15 + .../heatedDuct/constant/fluid/g | 21 ++ .../constant/fluid/thermophysicalProperties | 53 +++ .../constant/fluid/turbulenceProperties | 20 ++ .../heatedDuct/constant/heater/fvOptions | 36 ++ .../constant/heater/thermophysicalProperties | 52 +++ .../constant/metal/thermophysicalProperties | 52 +++ .../heatedDuct/constant/regionProperties | 24 ++ .../constant/triSurface/fluidToMetal.stl | 58 ++++ .../constant/triSurface/heatedDuct.stl | 324 ++++++++++++++++++ .../constant/triSurface/metalToHeater.stl | 16 + .../heatedDuct/system/blockMeshDict | 51 +++ .../heatedDuct/system/controlDict | 54 +++ .../heatedDuct/system/decomposeParDict | 31 ++ .../heatedDuct/system/fluid/decomposeParDict | 1 + .../heatedDuct/system/fluid/fvSchemes | 53 +++ .../heatedDuct/system/fluid/fvSolution | 73 ++++ .../heatedDuct/system/fvSchemes | 30 ++ .../heatedDuct/system/fvSolution | 22 ++ .../heatedDuct/system/heater/decomposeParDict | 1 + .../heatedDuct/system/heater/fvSchemes | 49 +++ .../heatedDuct/system/heater/fvSolution | 40 +++ .../heatedDuct/system/meshQualityDict | 20 ++ .../heatedDuct/system/metal/decomposeParDict | 1 + .../heatedDuct/system/metal/fvSchemes | 49 +++ .../heatedDuct/system/metal/fvSolution | 40 +++ .../heatedDuct/system/snappyHexMeshDict | 114 ++++++ 36 files changed, 1619 insertions(+) create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/T create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/U create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p_rgh create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/T create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/p create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/T create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/p create mode 100755 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean create mode 100755 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allrun create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/g create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/thermophysicalProperties create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/turbulenceProperties create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/fvOptions create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/thermophysicalProperties create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/metal/thermophysicalProperties create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/regionProperties create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/fluidToMetal.stl create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/heatedDuct.stl create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/metalToHeater.stl create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/blockMeshDict create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/controlDict create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/decomposeParDict create mode 120000 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/decomposeParDict create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSchemes create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSolution create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSchemes create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSolution create mode 120000 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/decomposeParDict create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSchemes create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSolution create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/meshQualityDict create mode 120000 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/decomposeParDict create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSchemes create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSolution create mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/snappyHexMeshDict diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/T b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/T new file mode 100644 index 000000000..7a4db563c --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/T @@ -0,0 +1,46 @@ +/*--------------------------------*- 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/fluid"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 0 0 1 0 0 0 ]; + +internalField uniform 300; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + fluidInlet + { + type fixedValue; + value $internalField; + } + fluidOutlet + { + type inletOutlet; + value $internalField; + inletValue $internalField; + } + fluid_to_metal + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod fluidThermo; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/U b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/U new file mode 100644 index 000000000..5d4b3a08b --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/U @@ -0,0 +1,42 @@ +/*--------------------------------*- 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; + location "0/fluid"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 1 -1 0 0 0 0 ]; + +internalField uniform (0 0 1e-3); + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + fluidInlet + { + type fixedValue; + value uniform (0 0 1e-3); + } + fluidOutlet + { + type pressureInletOutletVelocity; + value $internalField; + } + fluid_to_metal + { + type noSlip; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p new file mode 100644 index 000000000..0595ebf03 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p @@ -0,0 +1,33 @@ +/*--------------------------------*- 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/fluid"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 1 -1 -2 0 0 0 0 ]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + ".*" + { + type calculated; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p_rgh new file mode 100644 index 000000000..660e504c9 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/fluid/p_rgh @@ -0,0 +1,38 @@ +/*--------------------------------*- 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/fluid"; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 1 -1 -2 0 0 0 0 ]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + ".*" + { + type fixedFluxPressure; + value $internalField; + } + fluidOutlet + { + type fixedValue; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/T b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/T new file mode 100644 index 000000000..00ec67347 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/T @@ -0,0 +1,39 @@ +/*--------------------------------*- 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/heater"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 0 0 1 0 0 0 ]; + +internalField uniform 300; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "heater(Inlet|Outlet|External)" + { + type zeroGradient; + } + heater_to_metal + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod solidThermo; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/p b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/p new file mode 100644 index 000000000..79695bac9 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/heater/p @@ -0,0 +1,33 @@ +/*--------------------------------*- 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/heater"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + ".*" + { + type calculated; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/T b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/T new file mode 100644 index 000000000..a20a1edde --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/T @@ -0,0 +1,46 @@ +/*--------------------------------*- 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/metal"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 0 0 1 0 0 0 ]; + +internalField uniform 300; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "metal(Inlet|Outlet|External)" + { + type zeroGradient; + } + metal_to_fluid + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod solidThermo; + } + metal_to_heater + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod solidThermo; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/p b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/p new file mode 100644 index 000000000..97dda5c59 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/0/metal/p @@ -0,0 +1,33 @@ +/*--------------------------------*- 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/metal"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + ".*" + { + type calculated; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean new file mode 100755 index 000000000..b95f77b46 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean @@ -0,0 +1,9 @@ +#!/bin/sh + +cd ${0%/*} || exit 1 + +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase + +rm -rf constant/*/polyMesh 0/cellToRegion 0/*/cellToRegion diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allrun b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allrun new file mode 100755 index 000000000..03da938dd --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allrun @@ -0,0 +1,15 @@ +#!/bin/sh + +cd ${0%/*} || exit 1 + +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +rm -rf constant/polyMesh/sets + +runApplication blockMesh +runApplication snappyHexMesh -overwrite +runApplication splitMeshRegions -cellZones -overwrite +runApplication decomposePar -allRegions +runParallel $(getApplication) +runApplication reconstructPar -allRegions +paraFoam -touchAll diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/g b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/g new file mode 100644 index 000000000..d63afe0f1 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/g @@ -0,0 +1,21 @@ +/*--------------------------------*- 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 uniformDimensionedVectorField; + location "constant/fluid"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 0 0); + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/thermophysicalProperties new file mode 100644 index 000000000..d858d88c4 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/thermophysicalProperties @@ -0,0 +1,53 @@ +/*--------------------------------*- 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/fluid"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + // Water + + specie + { + molWeight 18; + } + equationOfState + { + rho 1000; + } + thermodynamics + { + Cp 4181; + Hf 0; + } + transport + { + mu 959e-6; + Pr 6.62; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/turbulenceProperties new file mode 100644 index 000000000..3a6925126 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/turbulenceProperties @@ -0,0 +1,20 @@ +/*--------------------------------*- 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/fluid"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/fvOptions b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/fvOptions new file mode 100644 index 000000000..ec9eeb934 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/fvOptions @@ -0,0 +1,36 @@ +/*--------------------------------*- 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/heater"; + object fvOptions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +options +{ + energySource + { + type scalarSemiImplicitSource; + + timeStart 0; + duration 1e6; + selectionMode all; + volumeMode specific; + + injectionRateSuSp + { + h (1e7 0); // W/m^3 == kg/m/s^3 + } + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/thermophysicalProperties new file mode 100644 index 000000000..932dd6659 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/thermophysicalProperties @@ -0,0 +1,52 @@ +/*--------------------------------*- 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/heater"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heSolidThermo; + mixture pureMixture; + transport constIso; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + // Iron + + specie + { + molWeight 50; + } + equationOfState + { + rho 8000; + } + transport + { + kappa 80; + } + thermodynamics + { + Hf 0; + Cp 450; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/metal/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/metal/thermophysicalProperties new file mode 100644 index 000000000..8eef5944f --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/metal/thermophysicalProperties @@ -0,0 +1,52 @@ +/*--------------------------------*- 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/metal"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heSolidThermo; + mixture pureMixture; + transport constIso; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + // Aluminium + + specie + { + molWeight 27; + } + equationOfState + { + rho 2700; + } + transport + { + kappa 200; + } + thermodynamics + { + Hf 0; + Cp 900; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/regionProperties new file mode 100644 index 000000000..35e35beaf --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/regionProperties @@ -0,0 +1,24 @@ +/*--------------------------------*- 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 regionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +regions +( + fluid (fluid) + solid (metal heater) +); + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/fluidToMetal.stl b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/fluidToMetal.stl new file mode 100644 index 000000000..6888f17ab --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/fluidToMetal.stl @@ -0,0 +1,58 @@ +solid fluidToMetal + facet normal 0 -1 0 + outer loop + vertex 0.005 0.005 0 + vertex 0.045 0.005 0 + vertex 0.045 0.005 0.15 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.005 0.005 0 + vertex 0.045 0.005 0.15 + vertex 0.005 0.005 0.15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.045 0.005 0 + vertex 0.045 0.045 0 + vertex 0.045 0.045 0.15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.045 0.005 0 + vertex 0.045 0.045 0.15 + vertex 0.045 0.005 0.15 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.045 0.045 0 + vertex 0.005 0.045 0 + vertex 0.005 0.045 0.15 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.045 0.045 0 + vertex 0.005 0.045 0.15 + vertex 0.045 0.045 0.15 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.005 0.045 0 + vertex 0.005 0.005 0 + vertex 0.005 0.005 0.15 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.005 0.045 0 + vertex 0.005 0.005 0.15 + vertex 0.005 0.045 0.15 + endloop + endfacet +endsolid fluidToMetal diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/heatedDuct.stl b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/heatedDuct.stl new file mode 100644 index 000000000..576d6e64b --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/heatedDuct.stl @@ -0,0 +1,324 @@ +solid metalInlet + facet normal 0 0 1 + outer loop + vertex 0 0 0 + vertex 0.0075 0 0 + vertex 0.005 0.005 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.0075 0 0 + vertex 0.0425 0 0 + vertex 0.045 0.005 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.0075 0 0 + vertex 0.045 0.005 0 + vertex 0.005 0.005 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.0425 0 0 + vertex 0.05 0 0 + vertex 0.045 0.005 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.05 0 0 + vertex 0.05 0.05 0 + vertex 0.045 0.045 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.05 0 0 + vertex 0.045 0.045 0 + vertex 0.045 0.005 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.05 0.05 0 + vertex 0 0.05 0 + vertex 0.005 0.045 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.05 0.05 0 + vertex 0.005 0.045 0 + vertex 0.045 0.045 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0.05 0 + vertex 0 0 0 + vertex 0.005 0.005 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0.05 0 + vertex 0.005 0.005 0 + vertex 0.005 0.045 0 + endloop + endfacet +endsolid metalInlet +solid heaterInlet + facet normal -0 0 1 + outer loop + vertex 0.0075 0 0 + vertex 0.0075 -0.01 0 + vertex 0.0425 0 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.0075 -0.01 0 + vertex 0.0425 -0.01 0 + vertex 0.0425 0 0 + endloop + endfacet +endsolid heaterInlet +solid fluidInlet + facet normal 0 0 1 + outer loop + vertex 0.005 0.005 0 + vertex 0.045 0.005 0 + vertex 0.045 0.045 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.005 0.005 0 + vertex 0.045 0.045 0 + vertex 0.005 0.045 0 + endloop + endfacet +endsolid fluidInlet +solid metalOutlet + facet normal 0 0 1 + outer loop + vertex 0 0 0.15 + vertex 0.0075 0 0.15 + vertex 0.005 0.005 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.0075 0 0.15 + vertex 0.0425 0 0.15 + vertex 0.045 0.005 0.15 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.0075 0 0.15 + vertex 0.045 0.005 0.15 + vertex 0.005 0.005 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.0425 0 0.15 + vertex 0.05 0 0.15 + vertex 0.045 0.005 0.15 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.05 0 0.15 + vertex 0.05 0.05 0.15 + vertex 0.045 0.045 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.05 0 0.15 + vertex 0.045 0.045 0.15 + vertex 0.045 0.005 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.05 0.05 0.15 + vertex 0 0.05 0.15 + vertex 0.005 0.045 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.05 0.05 0.15 + vertex 0.005 0.045 0.15 + vertex 0.045 0.045 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0.05 0.15 + vertex 0 0 0.15 + vertex 0.005 0.005 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0.05 0.15 + vertex 0.005 0.005 0.15 + vertex 0.005 0.045 0.15 + endloop + endfacet +endsolid metalOutlet +solid heaterOutlet + facet normal -0 0 1 + outer loop + vertex 0.0075 0 0.15 + vertex 0.0075 -0.01 0.15 + vertex 0.0425 0 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.0075 -0.01 0.15 + vertex 0.0425 -0.01 0.15 + vertex 0.0425 0 0.15 + endloop + endfacet +endsolid heaterOutlet +solid fluidOutlet + facet normal 0 0 1 + outer loop + vertex 0.005 0.005 0.15 + vertex 0.045 0.005 0.15 + vertex 0.045 0.045 0.15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.005 0.005 0.15 + vertex 0.045 0.045 0.15 + vertex 0.005 0.045 0.15 + endloop + endfacet +endsolid fluidOutlet +solid metalExternal + facet normal 0 -1 0 + outer loop + vertex 0 0 0 + vertex 0.0075 0 0 + vertex 0.0075 0 0.15 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 0 + vertex 0.0075 0 0.15 + vertex 0 0 0.15 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.0425 0 0 + vertex 0.05 0 0 + vertex 0.05 0 0.15 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.0425 0 0 + vertex 0.05 0 0.15 + vertex 0.0425 0 0.15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.05 0 0 + vertex 0.05 0.05 0 + vertex 0.05 0.05 0.15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.05 0 0 + vertex 0.05 0.05 0.15 + vertex 0.05 0 0.15 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.05 0.05 0 + vertex 0 0.05 0 + vertex 0 0.05 0.15 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.05 0.05 0 + vertex 0 0.05 0.15 + vertex 0.05 0.05 0.15 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0 0.05 0 + vertex 0 0 0 + vertex 0 0 0.15 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0 0.05 0 + vertex 0 0 0.15 + vertex 0 0.05 0.15 + endloop + endfacet +endsolid metalExternal +solid heaterExternal + facet normal -1 0 0 + outer loop + vertex 0.0075 0 0 + vertex 0.0075 -0.01 0 + vertex 0.0075 -0.01 0.15 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.0075 0 0 + vertex 0.0075 -0.01 0.15 + vertex 0.0075 0 0.15 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.0075 -0.01 0 + vertex 0.0425 -0.01 0 + vertex 0.0425 -0.01 0.15 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.0075 -0.01 0 + vertex 0.0425 -0.01 0.15 + vertex 0.0075 -0.01 0.15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.0425 -0.01 0 + vertex 0.0425 0 0 + vertex 0.0425 0 0.15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.0425 -0.01 0 + vertex 0.0425 0 0.15 + vertex 0.0425 -0.01 0.15 + endloop + endfacet +endsolid heaterExternal diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/metalToHeater.stl b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/metalToHeater.stl new file mode 100644 index 000000000..02cfea167 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/triSurface/metalToHeater.stl @@ -0,0 +1,16 @@ +solid metalToHeater + facet normal 0 -1 0 + outer loop + vertex 0.0075 0 0 + vertex 0.0425 0 0 + vertex 0.0425 0 0.15 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.0075 0 0 + vertex 0.0425 0 0.15 + vertex 0.0075 0 0.15 + endloop + endfacet +endsolid metalToHeater diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/blockMeshDict new file mode 100644 index 000000000..a744a344f --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/blockMeshDict @@ -0,0 +1,51 @@ +/*--------------------------------*- 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 "system"; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.001; + +vertices +( + (-0.001 -10.001 -0.001) + (50.001 -10.001 -0.001) + (50.001 50.001 -0.001) + (-0.001 50.001 -0.001) + (-0.001 -10.001 150.001) + (50.001 -10.001 150.001) + (50.001 50.001 150.001) + (-0.001 50.001 150.001) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) fluid (20 24 60) simpleGrading (1 1 1) +); + +edges +( +); + +defaultPatch +{ + type empty; + name default; +} + +boundary +( +); + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/controlDict new file mode 100644 index 000000000..1b617ec14 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/controlDict @@ -0,0 +1,54 @@ +/*--------------------------------*- 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 "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application chtMultiRegionFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 20; + +deltaT 1e-3; + +writeControl adjustableRunTime; + +writeInterval 1; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +maxCo 1.0; + +maxDi 10.0; + +adjustTimeStep yes; + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/decomposeParDict new file mode 100644 index 000000000..58c65db1f --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/decomposeParDict @@ -0,0 +1,31 @@ +/*--------------------------------*- 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; + note "mesh decomposition control dictionary"; + location "system"; + object decomposeParDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method hierarchical; + +hierarchicalCoeffs +{ + n (1 1 4); + delta 0.001; + order xyz; +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/decomposeParDict new file mode 120000 index 000000000..46638e60f --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/decomposeParDict @@ -0,0 +1 @@ +../decomposeParDict \ No newline at end of file diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSchemes new file mode 100644 index 000000000..165277890 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSchemes @@ -0,0 +1,53 @@ +/*--------------------------------*- 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 "system/fluid"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + + div(phi,U) Gauss upwind; + div(phi,K) Gauss linear; + div(phi,h) Gauss upwind; + div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSolution new file mode 100644 index 000000000..cf94e7118 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fluid/fvSolution @@ -0,0 +1,73 @@ +/*--------------------------------*- 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 "system/fluid"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + rho + { + solver diagonal; + } + + rhoFinal + { + $rho; + } + + p_rgh + { + solver GAMG; + smoother symGaussSeidel; + tolerance 1e-7; + relTol 0.01; + } + + p_rghFinal + { + $p_rgh; + relTol 0; + } + + "(U|h)" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-7; + relTol 0.1; + } + + "(U|h)Final" + { + $U; + relTol 0; + } +} + +PIMPLE +{ + momentumPredictor yes; +} + +relaxationFactors +{ + equations + { + "h.*" 1; + "U.*" 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSchemes new file mode 100644 index 000000000..25fdfa98f --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSchemes @@ -0,0 +1,30 @@ +/*--------------------------------*- 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 "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +divSchemes +{ +} + +gradSchemes +{ +} + +laplacianSchemes +{ +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSolution new file mode 100644 index 000000000..52bd23079 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/fvSolution @@ -0,0 +1,22 @@ +/*--------------------------------*- 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 "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +PIMPLE +{ +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/decomposeParDict new file mode 120000 index 000000000..46638e60f --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/decomposeParDict @@ -0,0 +1 @@ +../decomposeParDict \ No newline at end of file diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSchemes new file mode 100644 index 000000000..1190b6441 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSchemes @@ -0,0 +1,49 @@ +/*--------------------------------*- 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 "system/heater"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; + laplacian(alpha,h) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSolution new file mode 100644 index 000000000..dfb638cb3 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/heater/fvSolution @@ -0,0 +1,40 @@ +/*--------------------------------*- 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 "system/heater"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + h + { + solver GAMG; + smoother symGaussSeidel; + tolerance 1e-6; + relTol 0.1; + } + + hFinal + { + $h; + relTol 0; + } +} + +PIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/meshQualityDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/meshQualityDict new file mode 100644 index 000000000..41924a003 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/meshQualityDict @@ -0,0 +1,20 @@ +/*--------------------------------*- 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 "system"; + object meshQualityDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#includeEtc "caseDicts/mesh/generation/meshQualityDict.cfg" + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/decomposeParDict new file mode 120000 index 000000000..46638e60f --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/decomposeParDict @@ -0,0 +1 @@ +../decomposeParDict \ No newline at end of file diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSchemes new file mode 100644 index 000000000..095216114 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSchemes @@ -0,0 +1,49 @@ +/*--------------------------------*- 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 "system/metal"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; + laplacian(alpha,h) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSolution new file mode 100644 index 000000000..0bb7a3e8c --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/metal/fvSolution @@ -0,0 +1,40 @@ +/*--------------------------------*- 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 "system/metal"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + h + { + solver GAMG; + smoother symGaussSeidel; + tolerance 1e-6; + relTol 0.1; + } + + hFinal + { + $h; + relTol 0; + } +} + +PIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/snappyHexMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/snappyHexMeshDict new file mode 100644 index 000000000..cecadbbbe --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/system/snappyHexMeshDict @@ -0,0 +1,114 @@ +/*--------------------------------*- 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; + object snappyHexMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#includeEtc "caseDicts/mesh/generation/snappyHexMeshDict.cfg" + +castellatedMesh true; +snap true; +addLayers false; + +geometry +{ + heatedDuct + { + type triSurfaceMesh; + file "heatedDuct.stl"; + + regions + { + metalInlet { name metalInlet; } + heaterInlet { name heaterInlet; } + fluidInlet { name fluidInlet; } + metalOutlet { name metalOutlet; } + heaterOutlet { name heaterOutlet; } + fluidOutlet { name fluidOutlet; } + metalExternal { name metalExternal; } + heaterExternal { name heaterExternal; } + } + } + + metalToHeater + { + type triSurfaceMesh; + file "metalToHeater.stl"; + } + + fluidToMetal + { + type triSurfaceMesh; + file "fluidToMetal.stl"; + } +}; + +castellatedMeshControls +{ + refinementSurfaces + { + heatedDuct + { + level (0 0); + regions + { + metalInlet { level (0 0); patchInfo { type patch; } } + heaterInlet { level (0 0); patchInfo { type patch; } } + fluidInlet { level (0 0); patchInfo { type patch; } } + metalOutlet { level (0 0); patchInfo { type patch; } } + heaterOutlet { level (0 0); patchInfo { type patch; } } + fluidOutlet { level (0 0); patchInfo { type patch; } } + metalExternal { level (1 1); patchInfo { type wall; } } + heaterExternal { level (1 1); patchInfo { type wall; } } + } + } + + fluidToMetal + { + level (1 1); + faceZone fluidToMetal; + cellZone metal; + cellZoneInside insidePoint; + insidePoint (0.025 0.0025 0.075); + } + + metalToHeater + { + level (1 1); + faceZone metalToHeater; + cellZone heater; + cellZoneInside insidePoint; + insidePoint (0.025 -0.005 0.075); + } + } + + nCellsBetweenLevels 1; + + refinementRegions + {} + + locationInMesh (0.025 0.025 0.075); +} + +addLayersControls +{ + relativeSizes true; + minThickness 1; + finalLayerThickness 1; + expansionRatio 1; + layers + {} +} + +// ************************************************************************* // From 04d5bdc86508dfceae0b2c4365fa356feff12bd5 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Mon, 12 Feb 2018 11:25:58 +0000 Subject: [PATCH 2/2] snappyHexMesh: Fixed "cannot find triSurfaceMesh" error message --- .../searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C index bb5cc29e9..d8fbb3d50 100644 --- a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C +++ b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C @@ -89,6 +89,7 @@ Foam::fileName Foam::triSurfaceMesh::relativeFilePath return fName; } + Foam::fileName Foam::triSurfaceMesh::checkFile ( const regIOobject& io, @@ -96,15 +97,16 @@ Foam::fileName Foam::triSurfaceMesh::checkFile const bool isGlobal ) { - fileName fName; - if (dict.readIfPresent("file", fName, false, false)) + fileName dictFName, fName; + + if (dict.readIfPresent("file", dictFName, false, false)) { - fName = relativeFilePath(io, fName, isGlobal); + fName = relativeFilePath(io, dictFName, isGlobal); if (!exists(fName)) { FatalErrorInFunction - << "Cannot find triSurfaceMesh at " << fName + << "Cannot find triSurfaceMesh at " << io.path(dictFName) << exit(FatalError); } }