# 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