From 3f33f3815e1e6456c294c6271e00d23f1c28c8a5 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Thu, 25 Aug 2022 14:53:58 +0100 Subject: [PATCH] tutorials: CHT version of circuitBoardCooling This is a better way of doing 3D thermal baffles. It does not require a special region model and is consistent with multi-region handling in other parts of OpenFOAM. --- .../CHT/circuitBoardCooling/0/baffle3D/T | 40 ++++++++ .../CHT/circuitBoardCooling/0/fluid/T.orig | 53 +++++++++++ .../CHT/circuitBoardCooling/0/fluid/U.orig | 44 +++++++++ .../circuitBoardCooling/0/fluid/alphat.orig | 40 ++++++++ .../circuitBoardCooling/0/fluid/epsilon.orig | 44 +++++++++ .../CHT/circuitBoardCooling/0/fluid/k.orig | 44 +++++++++ .../CHT/circuitBoardCooling/0/fluid/nut.orig | 39 ++++++++ .../CHT/circuitBoardCooling/0/fluid/p.orig | 33 +++++++ .../circuitBoardCooling/0/fluid/p_rgh.orig | 45 +++++++++ .../modules/CHT/circuitBoardCooling/Allrun | 20 ++++ .../constant/baffle3D/fvModels | 25 +++++ .../constant/baffle3D/physicalProperties | 50 ++++++++++ .../CHT/circuitBoardCooling/constant/fluid/g | 21 +++++ .../constant/fluid/momentumTransport | 28 ++++++ .../circuitBoardCooling/constant/fluid/pRef | 20 ++++ .../constant/fluid/physicalProperties | 47 ++++++++++ .../constant/geometry/baffle1D.stl | 16 ++++ .../constant/geometry/baffle3D.stl | 58 ++++++++++++ .../include/wallPatchFields | 50 ++++++++++ .../system/baffle3D/fvSchemes | 48 ++++++++++ .../system/baffle3D/fvSolution | 35 +++++++ .../circuitBoardCooling/system/controlDict | 53 +++++++++++ .../system/fluid/blockMeshDict | 85 +++++++++++++++++ .../system/fluid/createBafflesDict | 94 +++++++++++++++++++ .../system/fluid/extrudeToRegionMeshDict | 33 +++++++ .../system/fluid/fvSchemes | 54 +++++++++++ .../system/fluid/fvSolution | 66 +++++++++++++ .../system/fluid/topoSetDict | 28 ++++++ .../CHT/circuitBoardCooling/system/fvSolution | 22 +++++ 29 files changed, 1235 insertions(+) create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/baffle3D/T create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/T.orig create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/U.orig create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/alphat.orig create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/epsilon.orig create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/k.orig create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/nut.orig create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/p.orig create mode 100644 tutorials/modules/CHT/circuitBoardCooling/0/fluid/p_rgh.orig create mode 100755 tutorials/modules/CHT/circuitBoardCooling/Allrun create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/fvModels create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/physicalProperties create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/fluid/g create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/fluid/momentumTransport create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/fluid/pRef create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/fluid/physicalProperties create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle1D.stl create mode 100644 tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle3D.stl create mode 100644 tutorials/modules/CHT/circuitBoardCooling/include/wallPatchFields create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSchemes create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSolution create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/controlDict create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/fluid/blockMeshDict create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/fluid/createBafflesDict create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/fluid/extrudeToRegionMeshDict create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSchemes create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSolution create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/fluid/topoSetDict create mode 100644 tutorials/modules/CHT/circuitBoardCooling/system/fvSolution diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/baffle3D/T b/tutorials/modules/CHT/circuitBoardCooling/0/baffle3D/T new file mode 100644 index 0000000000..bdea5e519e --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/baffle3D/T @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 300; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|baffle3D0|baffle3D1|baffle3D_side)" + { + type zeroGradient; + } + + "baffle3D_to_fluid_.*" + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + kappa kappa; + Tnbr T; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/T.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/T.orig new file mode 100644 index 0000000000..cbd27a656d --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/T.orig @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 300; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|ceiling)" + { + type zeroGradient; + } + + "fluid_to_baffle3D_.*" + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + kappa kappa; + Tnbr T; + value $internalField; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/U.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/U.orig new file mode 100644 index 0000000000..97bed23130 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/U.orig @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.1 0 0); + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|ceiling|fluid_to_baffle3D_.*)" + { + type noSlip; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type pressureInletOutletVelocity; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/alphat.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/alphat.orig new file mode 100644 index 0000000000..b9bd237684 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/alphat.orig @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object alphat; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|ceiling|fluid_to_baffle3D_.*)" + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + "(inlet|outlet)" + { + type calculated; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/epsilon.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/epsilon.orig new file mode 100644 index 0000000000..6ee1eca64e --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/epsilon.orig @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.01; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|ceiling|fluid_to_baffle3D_.*)" + { + type epsilonWallFunction; + value $internalField; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/k.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/k.orig new file mode 100644 index 0000000000..678c9739f3 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/k.orig @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.1; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|ceiling|fluid_to_baffle3D_.*)" + { + type kqRWallFunction; + value $internalField; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/nut.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/nut.orig new file mode 100644 index 0000000000..08901f5079 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/nut.orig @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|ceiling|fluid_to_baffle3D_.*)" + { + type nutkWallFunction; + value $internalField; + } + + "(inlet|outlet)" + { + type calculated; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/p.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/p.orig new file mode 100644 index 0000000000..50221e2109 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/p.orig @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 1e5; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + ".*" + { + type calculated; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/0/fluid/p_rgh.orig b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/p_rgh.orig new file mode 100644 index 0000000000..a35da1d7f0 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/0/fluid/p_rgh.orig @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class volScalarField; + location "0"; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + "(floor|ceiling|fluid_to_baffle3D_.*)" + { + type fixedFluxPressure; + value $internalField; + } + + inlet + { + type fixedFluxPressure; + value $internalField; + } + + outlet + { + type fixedValue; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/Allrun b/tutorials/modules/CHT/circuitBoardCooling/Allrun new file mode 100755 index 0000000000..9635c11285 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh -region fluid + +# Create the 3D baffle +runApplication topoSet -region fluid +runApplication extrudeToRegionMesh -region fluid -overwrite + +# Create the 1D baffle +runApplication createBaffles -region fluid -overwrite + +runApplication $(getApplication) + +paraFoam -touchAll + +#------------------------------------------------------------------------------ diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/fvModels b/tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/fvModels new file mode 100644 index 0000000000..4cb9881cc4 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/fvModels @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object fvModels; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +cylinderHeat +{ + type heatSource; + + selectionMode all; + + q 17000; +} + +//************************************************************************** // diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/physicalProperties b/tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/physicalProperties new file mode 100644 index 0000000000..8c553ac6b9 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/baffle3D/physicalProperties @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + location "constant/baffle3D"; + object physicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heSolidThermo; + mixture pureMixture; + transport constIsoSolid; + thermo eConst; + equationOfState rhoConst; + specie specie; + energy sensibleInternalEnergy; +} + +mixture +{ + specie + { + molWeight 20; + } + transport + { + kappa 0.01; + } + thermodynamics + { + Hf 0; + Cv 15; + } + equationOfState + { + rho 80; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/g b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/g new file mode 100644 index 0000000000..770a56192e --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/g @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 -9.81 0); + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/momentumTransport b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/momentumTransport new file mode 100644 index 0000000000..f3e80a0243 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/momentumTransport @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object RASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + model kEpsilon; + + turbulence on; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/pRef b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/pRef new file mode 100644 index 0000000000..165e31d6fe --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/pRef @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class uniformDimensionedScalarField; + location "constant"; + object pRef; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; +value 1e5; + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/physicalProperties b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/physicalProperties new file mode 100644 index 0000000000..7fc7c9be13 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/fluid/physicalProperties @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + location "constant/fluid"; + object physicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectGas; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + molWeight 28.96; + } + thermodynamics + { + Cp 1004.4; + Hf 0; + } + transport + { + mu 1.831e-05; + Pr 0.705; + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle1D.stl b/tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle1D.stl new file mode 100644 index 0000000000..f15814e7d9 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle1D.stl @@ -0,0 +1,16 @@ +solid ascii + facet normal -1 0 0 + outer loop + vertex 0.3 0 0 + vertex 0.3 0 0.1 + vertex 0.3 0.2 0 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.3 0.2 0.1 + vertex 0.3 0.2 0 + vertex 0.3 0 0.1 + endloop + endfacet +endsolid diff --git a/tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle3D.stl b/tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle3D.stl new file mode 100644 index 0000000000..cd472ca99f --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/constant/geometry/baffle3D.stl @@ -0,0 +1,58 @@ +solid ascii + facet normal -1 0 0 + outer loop + vertex 0.59 0 0 + vertex 0.59 0 0.05 + vertex 0.59 0.1 0 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.59 0.1 0.05 + vertex 0.59 0.1 0 + vertex 0.59 0 0.05 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.59 0 0.05 + vertex 0.59 0 0.1 + vertex 0.59 0.1 0.05 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.59 0.1 0.1 + vertex 0.59 0.1 0.05 + vertex 0.59 0 0.1 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.59 0.1 0 + vertex 0.59 0.1 0.05 + vertex 0.59 0.2 0 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.59 0.2 0.05 + vertex 0.59 0.2 0 + vertex 0.59 0.1 0.05 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.59 0.1 0.05 + vertex 0.59 0.1 0.1 + vertex 0.59 0.2 0.05 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.59 0.2 0.1 + vertex 0.59 0.2 0.05 + vertex 0.59 0.1 0.1 + endloop + endfacet +endsolid diff --git a/tutorials/modules/CHT/circuitBoardCooling/include/wallPatchFields b/tutorials/modules/CHT/circuitBoardCooling/include/wallPatchFields new file mode 100644 index 0000000000..0473d9648c --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/include/wallPatchFields @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ + +alphat +{ + type compressible::alphatWallFunction; + value uniform 0; +} + +epsilon +{ + type epsilonWallFunction; + value uniform 0.01; +} + +k +{ + type kqRWallFunction; + value uniform 0.01; +} + +nut +{ + type nutkWallFunction; + value uniform 0; +} + +p +{ + type calculated; + value uniform 101325; +} + +p_rgh +{ + type fixedFluxPressure; +} + +U +{ + type fixedValue; + value uniform (0 0 0); +} + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSchemes b/tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSchemes new file mode 100644 index 0000000000..676759b7bf --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSchemes @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + location "system/baffleRegion"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default Gauss linear uncorrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default uncorrected; +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSolution b/tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSolution new file mode 100644 index 0000000000..713c72aa97 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/baffle3D/fvSolution @@ -0,0 +1,35 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + location "system/baffleRegion"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "e.*" + { + solver PCG; + smoother GaussSeidel; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } +} + +PIMPLE +{ + nNonOrthogonalCorrectors 0; +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/controlDict b/tutorials/modules/CHT/circuitBoardCooling/system/controlDict new file mode 100644 index 0000000000..41bc2c7e0e --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/controlDict @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application foamMultiRun; + +regionSolvers +{ + fluid fluid; + baffle3D solid; +} + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 2500; + +deltaT 1; + +writeControl timeStep; + +writeInterval 500; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/fluid/blockMeshDict b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/blockMeshDict new file mode 100644 index 0000000000..e9d798c30b --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/blockMeshDict @@ -0,0 +1,85 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.1; + +vertices +( + (0 0 0) + (10 0 0) + (10 5 0) + (0 5 0) + (0 0 1) + (10 0 1) + (10 5 1) + (0 5 1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (50 40 1) simpleGrading (1 1 1) +); + +boundary +( + floor + { + type wall; + faces + ( + (1 5 4 0) + ); + } + + ceiling + { + type wall; + faces + ( + (2 6 7 3) + ); + } + + inlet + { + type patch; + faces + ( + (0 4 7 3) + ); + } + + outlet + { + type patch; + faces + ( + (1 5 6 2) + ); + } + + fixedWalls + { + type empty; + faces + ( + (0 3 2 1) + (4 5 6 7) + ); + } +); + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/fluid/createBafflesDict b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/createBafflesDict new file mode 100644 index 0000000000..f09f428ce6 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/createBafflesDict @@ -0,0 +1,94 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object createBafflesDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +internalFacesOnly true; + +fields true; + +baffles +{ + baffle1D + { + type searchableSurface; + surface triSurfaceMesh; + name baffle1D.stl; + + owner + { + name baffle1D0; + type mappedWall; + sampleMode nearestPatchFace; + samplePatch baffle1D1; + + patchFields + { + #include "./include/wallPatchFields" + + T + { + type compressible::thermalBaffle1D; + value uniform 300; + + // Baffle thickness [m] + thickness uniform 0.005; + + // Baffle source heat flux [W/m^2] + qs uniform 100; + + // Baffle physical properties + specie + { + molWeight 20; + } + transport + { + kappa 1; + } + thermodynamics + { + Hf 0; + Cv 10; + } + equationOfState + { + rho 10; + } + } + } + } + + neighbour + { + name baffle1D1; + type mappedWall; + sampleMode nearestPatchFace; + samplePatch baffle1D0; + + patchFields + { + #include "./include/wallPatchFields" + + T + { + type compressible::thermalBaffle1D; + value uniform 300; + } + } + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/fluid/extrudeToRegionMeshDict b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/extrudeToRegionMeshDict new file mode 100644 index 0000000000..1871050937 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/extrudeToRegionMeshDict @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object extrudeToRegionMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +region baffle3D; + +faceZones (baffle3D); + +extrudeModel linearNormal; + +nLayers 50; + +expansionRatio 1; + +adaptMesh yes; // apply mapped to both regions + +linearNormalCoeffs +{ + thickness 0.02; +} + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSchemes b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSchemes new file mode 100644 index 0000000000..68a9e41971 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSchemes @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) bounded Gauss limitedLinear 0.2; + div(phi,K) bounded Gauss limitedLinear 0.2; + div(phi,h) bounded Gauss limitedLinear 0.2; + div(phi,k) bounded Gauss limitedLinear 0.2; + div(phi,epsilon) bounded Gauss limitedLinear 0.2; + div(phi,omega) bounded Gauss limitedLinear 0.2; + div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear uncorrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default uncorrected; +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSolution b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSolution new file mode 100644 index 0000000000..a176d609e3 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/fvSolution @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p_rgh + { + solver GAMG; + tolerance 1e-7; + relTol 0.01; + + smoother DICGaussSeidel; + + } + + "(U|h|k|epsilon|omega)" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-7; + relTol 0.01; + } +} + +PIMPLE +{ + momentumPredictor no; + nNonOrthogonalCorrectors 0; + pRefCell 0; + pRefValue 0; + + residualControl + { + p_rgh 1e-3; + U 1e-4; + h 1e-4; + + // possibly check turbulence fields + "(k|epsilon|omega)" 5e-3; + } +} + +relaxationFactors +{ + rho 1.0; + p_rgh 0.7; + U 0.3; + h 0.7; + "(k|epsilon|omega)" 0.3; +} + + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/fluid/topoSetDict b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/topoSetDict new file mode 100644 index 0000000000..2f47183beb --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/fluid/topoSetDict @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + action new; + type faceZoneSet; + name baffle3D; + source searchableSurfaceToFaceZone; + surface triSurfaceMesh; + file "baffle3D.stl"; + } +); + +// ************************************************************************* // diff --git a/tutorials/modules/CHT/circuitBoardCooling/system/fvSolution b/tutorials/modules/CHT/circuitBoardCooling/system/fvSolution new file mode 100644 index 0000000000..cd3d435995 --- /dev/null +++ b/tutorials/modules/CHT/circuitBoardCooling/system/fvSolution @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +PIMPLE +{ + nOuterCorrectors 1; +} + +// ************************************************************************* //