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