Close

17th February 2014

OpenFOAM 2.3.0: Thermal Modelling

Thermal Baffles

OpenFOAM can emulate heat transfer across thin solid structures, or “baffles”. Baffles are represented as boundary patches of the mesh and heat transfer is handled either in 3D by the thermalBaffle boundary condition or the equivalent 1D approximation called thermalBaffle1D, described previously.

In v2.3.0, the use of thermal baffles has been simplified considerably with changes to the createBaffles utility. Specification of matching master and slave patches is no longer necessary by the user, only a single definition is required, e.g. (from createBafflesDict):

baffles
{
    baffleFacesThermoBaffle1D
    {
        type        searchableSurface;
        surface     triSurfaceMesh;
        name        baffle1D.stl;       // baffle defined by tri-surface

        patchPairs
        {
            type            wall;
            patchFields
            {
                #include "./0/include/wallBafflePatches"
                #include "./0/include/1DBaffle/1DTemperatureMasterBafflePatches"
            }
        }
    }
    ...

The 3D thermal baffle now handles its “mesh” internally, so does not require pre-processing on an extruded region mesh. Specification of thermodynamics is only required on the master patch. The user can specify an optional radiative flux, Qr, which is added to the energy balance.

Source code

  • thermalBaffle boundary condition –
    $FOAM_SRC/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle
  • thermalBaffle1D boundary condition –
    $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D

Example

  • Circuit board cooling
    $FOAM_TUTORIALS/heatTransfer/buoyantSimpleFoam/circuitBoardCooling

Other Thermal Boundaries

The turbulentTemperatureCoupledBaffleMixed and turbulentTemperatureRadCoupledMixed boundary conditions are designed to couple solid and fluid regions thermally. The turbulentTemperatureRadCoupledMixed condition includes the effect of radiative heat flux on the solid wall.

In some situations, e.g. circuit components, where the thermal contact between two solid regions is not perfect, the user can introduce a contact resistance between the regions. This thermal resistance will affect the temperature on both sides of the boundary and it is important to calculate maximum temperatures or heat fluxes across regions. To use this feature, it is necessary to specify the thermal conductivity and thickness of each layer of the thermal resistance as shown below. Multiple thermal layers, with different thermal resistances, can be specified at the interface.

leftSolid_to_heater
{
    type            compressible::turbulentTemperatureCoupledBaffleMixed;
    Tnbr            T;
    kappa           solidThermo;
    kappaName       none;
    thicknessLayers (1e-3);
    kappaLayers     (5e-4);
    value           uniform 300;
}

This externalWallHeatFluxTemperature boundary condition is used for external walls. It can operate in two modes: 1) specifying the heat transfer convection coefficient, h and ambient temperature, Ta; or, 2) specifying a heat flux, q. In the former mode additional thermal layers can be added if the wall is insulated, by specifying the thermal conductivity and thickness of each thermal layer, as described above.

Source code

  • thermal coupling boundary conditions
    $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed
    $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed
    $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature

Example

  • multi-region heater
    $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/multiRegionHeater

fvDOM Thermal Radiation

The following enhancements have been made to the fvDOM thermal radiation modelling:

  • optimized setting for the GAMG solver for rays;
  • optional caching of the divergence of the flux (useful only for upwind scheme);
  • code optimization of the greyDiffussive BC;
  • improve convergence residual calculation for each ray;
  • checks for convergence of rays in the radiation inner loop.

Source code

  • radiationModels library
    $FOAM_SRC/thermophysicalModels/radiationModels/radiationModel/fvDOM/fvDOM

Examples

  • burning panels
    $FOAM_TUTORIALS/combustion/fireFoam/les/oppositeBurningPanels