# Week 10/1/2023
version control:
openfoam case file: hoyiV2
code files: codeV2
flow chart update: https://drive.google.com/file/d/1OUHO5DlTABpp0vdETHdO5AgbJjcnlj9v/view?usp=sharing
## sink geometry generation
see excel document on updated flow chart and code annotation
### notes on hollowed sink geometry code
hollowed geometry generated by adding a number of verticle bars in between two equal sized plates
### notes on wavey sink
the bumpy pattern on top of the plate is simplied into just a flat plate
## Thermal resistance modelling
Aim: model thermal resistance (chito to package (both sides), thermal paste) as a whole. model by summing all thermal properties.
https://www.concepts-of-physics.com/thermodynamics/heat-conduction.php#:~:text=Consider%20two%20rods%20of%20thermal,2K1%2BK2.
Rt = total resistance; Rc = resistance from chip and package; Rp = resistance of thermal paste; Rc = (Tj - Tc)/P; R = x/ (k * A)
Rt = Rc + Rp
source code:
```
Class
Foam::compressible::
turbulentTemperatureRadCoupledMixedFvPatchScalarField
Description
Mixed boundary condition for temperature and radiation heat transfer
to be used for in multiregion cases. Optional thin thermal layer
resistances can be specified through thicknessLayers and kappaLayers
entries.
The thermal conductivity \c kappa can either be retrieved from various
possible sources, as detailed in the class temperatureCoupledBase.
Usage
\table
Property | Description | Required | Default value
Tnbr | name of the field | no | T
qrNbr | name of the radiative flux in the nbr region | no | none
qr | name of the radiative flux in this region | no | none
thicknessLayers | list of thicknesses per layer [m] | no |
kappaLayers | list of thermal conductivites per layer [W/m/K] | no |
kappaMethod | inherited from temperatureCoupledBase | inherited |
kappa | inherited from temperatureCoupledBase | inherited |
thermalInertia | Add thermal inertia to wall node | no | false
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
type compressible::turbulentTemperatureRadCoupledMixed;
Tnbr T;
qrNbr qr; // or none. Name of qr field on neighbour region
qr qr; // or none. Name of qr field on local region
thicknessLayers (0.1 0.2 0.3 0.4);
kappaLayers (1 2 3 4);
thermalInertia false/true;
kappaMethod lookup;
kappa kappa;
value uniform 300;
}
```
### verification
JC (K/W) = 1; JB (C/W) = 6; pad k = 2; pad thickness = 0.002
first run result:
OF: 321.1 K
EFD (with thermal pad CADed): 323 K
### openfoam commands
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;
}
```
variables:
kappaLayers
thicknessLayers
## code efficiency and tidyness
look into the following structure (have a seperate file (called 'include') that contains all the parameters which can be called in each children files):
```
#include "$FOAM_CASE/includes/materialProperties"
mixture
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa $insulation_kappa;
}
thermodynamics
{
Hf 0;
Cp 1;
}
equationOfState
{
rho $insulation_rho;
}
}
```
```
copper_kappa 350; // W/m/K
copper_thickness 35e-6;
copper_layers 4;
copper_rho 8940;
insulation_kappa 1.3; // W/m/K
insulation_thickness 75e-6;
insulation_layers 5;
insulation_rho 500;
LED_kappa 25;
LED_rho 2500;
PCB_kappa 180;
PCB_rho 2702;
g (0 -9.81 0);
```
the above can also be adjusted to include environment temparature in initial condition files