197 lines
9.2 KiB
Plaintext
197 lines
9.2 KiB
Plaintext
|
* Copyright (c) 2016 Linear Technology Corporation. All rights reserved.
|
||
|
* Author: Dan Eddleman
|
||
|
*
|
||
|
*SOAtherm PCB Thermal Model
|
||
|
***************************************************************
|
||
|
|
||
|
.subckt TopsideCopper Tcenter
|
||
|
|
||
|
*****PARAMETERS THAT SHOULD BE OVERRIDDEN BY PASSED VALUES*******
|
||
|
.param Area_Contact_mm2=100
|
||
|
.param Area_PCB_mm2=10000
|
||
|
.param Copper_Thickness_oz=1
|
||
|
.param PCB_FR4_Thickness_mm=1.5
|
||
|
.param lfm=0
|
||
|
*****************************************************************
|
||
|
|
||
|
.param Enable_Radiation=1
|
||
|
|
||
|
.param TambientRadiation={Tambient}
|
||
|
.param TambientConvection={Tambient}
|
||
|
|
||
|
.param Tambient=85
|
||
|
.param emissivity=0.8
|
||
|
.param hconv0=1.1625E-5
|
||
|
|
||
|
R0 N001 Tcenter {r0}
|
||
|
R1 N002 N001 {r1}
|
||
|
R2 N003 N002 {r2}
|
||
|
R3 N004 N003 {r3}
|
||
|
R4 N005 N004 {r4}
|
||
|
R5 N006 N005 {r5}
|
||
|
R6 N007 N006 {r6}
|
||
|
R7 N008 N007 {r7}
|
||
|
R8 N009 N008 {r8}
|
||
|
R9 Tedge N009 {r9}
|
||
|
C1 N001 0 {c1}
|
||
|
C2 N002 0 {c2}
|
||
|
C3 N003 0 {c3}
|
||
|
C4 N004 0 {c4}
|
||
|
C5 N005 0 {c5}
|
||
|
C6 N006 0 {c6}
|
||
|
C7 N007 0 {c7}
|
||
|
C8 N008 0 {c8}
|
||
|
C9 N009 0 {c9}
|
||
|
C10 Tedge 0 {c10}
|
||
|
C0 Tcenter 0 {c0}
|
||
|
V1 TambientConvection 0 {TambientConvection}
|
||
|
XXtopRad0 TambientRadiation N001 radiation params: Area_mm2=a10 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad1 TambientRadiation N002 radiation params: Area_mm2=a21 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad2 TambientRadiation N003 radiation params: Area_mm2=a32 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad3 TambientRadiation N004 radiation params: Area_mm2=a43 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad4 TambientRadiation N005 radiation params: Area_mm2=a54 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad5 TambientRadiation N006 radiation params: Area_mm2=a65 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad6 TambientRadiation N007 radiation params: Area_mm2=a76 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad7 TambientRadiation N008 radiation params: Area_mm2=a87 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad8 TambientRadiation N009 radiation params: Area_mm2=a98 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopRad9 TambientRadiation Tedge radiation params: Area_mm2=a109 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXtopConv0 TambientConvection N001 convection params: Area_mm2=a10 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv1 TambientConvection N002 convection params: Area_mm2=a21 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv2 TambientConvection N003 convection params: Area_mm2=a32 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv3 TambientConvection N004 convection params: Area_mm2=a43 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv4 TambientConvection N005 convection params: Area_mm2=a54 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv5 TambientConvection N006 convection params: Area_mm2=a65 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv6 TambientConvection N007 convection params: Area_mm2=a76 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv7 TambientConvection N008 convection params: Area_mm2=a87 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv8 TambientConvection N009 convection params: Area_mm2=a98 lfm={lfm} hconv0={hconv0}
|
||
|
XXtopConv9 TambientConvection Tedge convection params: Area_mm2=a109 lfm={lfm} hconv0={hconv0}
|
||
|
rFR4_0 N001 N010 {4k*PCB_FR4_Thickness_mm/a10}
|
||
|
rFR4_1 N002 N011 {4k*PCB_FR4_Thickness_mm/a21}
|
||
|
rFR4_2 N003 N012 {4k*PCB_FR4_Thickness_mm/a32}
|
||
|
rFR4_3 N004 N013 {4k*PCB_FR4_Thickness_mm/a43}
|
||
|
rFR4_4 N005 N014 {4k*PCB_FR4_Thickness_mm/a54}
|
||
|
rFR4_5 N006 N015 {4k*PCB_FR4_Thickness_mm/a65}
|
||
|
rFR4_6 N007 N016 {4k*PCB_FR4_Thickness_mm/a76}
|
||
|
rFR4_7 N008 N017 {4k*PCB_FR4_Thickness_mm/a10}
|
||
|
rFR4_8 N009 N018 {4k*PCB_FR4_Thickness_mm/a87}
|
||
|
rFR4_9 Tedge N019 {4k*PCB_FR4_Thickness_mm/a98}
|
||
|
XXbottomRad0 TambientRadiation N010 radiation params: Area_mm2=a10 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad1 TambientRadiation N011 radiation params: Area_mm2=a21 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad2 TambientRadiation N012 radiation params: Area_mm2=a32 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad3 TambientRadiation N013 radiation params: Area_mm2=a43 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad4 TambientRadiation N014 radiation params: Area_mm2=a54 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad5 TambientRadiation N015 radiation params: Area_mm2=a65 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad6 TambientRadiation N016 radiation params: Area_mm2=a76 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad7 TambientRadiation N017 radiation params: Area_mm2=a87 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad8 TambientRadiation N018 radiation params: Area_mm2=a98 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomRad9 TambientRadiation N019 radiation params: Area_mm2=a109 Enable_Radiation={Enable_Radiation} emissivity={emissivity}
|
||
|
XXbottomConv0 TambientConvection N010 convection params: Area_mm2=a10 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv1 TambientConvection N011 convection params: Area_mm2=a21 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv2 TambientConvection N012 convection params: Area_mm2=a32 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv3 TambientConvection N013 convection params: Area_mm2=a43 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv4 TambientConvection N014 convection params: Area_mm2=a54 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv5 TambientConvection N015 convection params: Area_mm2=a65 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv6 TambientConvection N016 convection params: Area_mm2=a76 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv7 TambientConvection N017 convection params: Area_mm2=a87 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv8 TambientConvection N018 convection params: Area_mm2=a98 lfm={lfm} hconv0={hconv0}
|
||
|
XXbottomConv9 TambientConvection N019 convection params: Area_mm2=a109 lfm={lfm} hconv0={hconv0}
|
||
|
V2 TambientRadiation 0 {TambientRadiation}
|
||
|
C11 N010 0 {c1_FR4}
|
||
|
C12 N011 0 {c2_FR4}
|
||
|
C13 N012 0 {c3_FR4}
|
||
|
C14 N013 0 {c4_FR4}
|
||
|
C15 N014 0 {c5_FR4}
|
||
|
C16 N015 0 {c6_FR4}
|
||
|
C17 N016 0 {c7_FR4}
|
||
|
C18 N017 0 {c8_FR4}
|
||
|
C19 N018 0 {c9_FR4}
|
||
|
C20 N019 0 {c10_FR4}
|
||
|
|
||
|
.param Rcopper_PCB_per_square=1/(0.391*0.035*Copper_Thickness_oz)
|
||
|
.param Ccopper_PCB_per_mm2=400*8.96E-6*0.035*Copper_Thickness_oz
|
||
|
.param Cfr4_PCB_per_mm2=600*2E-6*PCB_FR4_Thickness_mm
|
||
|
|
||
|
.param radius0=SQRT(Area_Contact_mm2/pi)
|
||
|
.param radius10=SQRT(Area_PCB_mm2/pi)
|
||
|
.param radius9=radius0+(radius10-radius0)/2
|
||
|
.param radius8=radius0+(radius9-radius0)/2
|
||
|
.param radius7=radius0+(radius8-radius0)/2
|
||
|
.param radius6=radius0+(radius7-radius0)/2
|
||
|
.param radius5=radius0+(radius6-radius0)/2
|
||
|
.param radius4=radius0+(radius5-radius0)/2
|
||
|
.param radius3=radius0+(radius4-radius0)/2
|
||
|
.param radius2=radius0+(radius3-radius0)/2
|
||
|
.param radius1=radius0+(radius2-radius0)/2
|
||
|
|
||
|
.func Area(radius_outer,radius_inner) {pi*pow(radius_outer,2)-pi*pow(radius_inner,2)}
|
||
|
.param a0=Area(radius0,0)
|
||
|
.param a10=Area(radius1,radius0)
|
||
|
.param a21=Area(radius2,radius1)
|
||
|
.param a32=Area(radius3,radius2)
|
||
|
.param a43=Area(radius4,radius3)
|
||
|
.param a54=Area(radius5,radius4)
|
||
|
.param a65=Area(radius6,radius5)
|
||
|
.param a76=Area(radius7,radius6)
|
||
|
.param a87=Area(radius8,radius7)
|
||
|
.param a98=Area(radius9,radius8)
|
||
|
.param a109=Area(radius10,radius9)
|
||
|
|
||
|
.param c0=Ccopper_PCB_per_mm2*a0
|
||
|
.param c1=Ccopper_PCB_per_mm2*a10
|
||
|
.param c2=Ccopper_PCB_per_mm2*a21
|
||
|
.param c3=Ccopper_PCB_per_mm2*a32
|
||
|
.param c4=Ccopper_PCB_per_mm2*a43
|
||
|
.param c5=Ccopper_PCB_per_mm2*a54
|
||
|
.param c6=Ccopper_PCB_per_mm2*a65
|
||
|
.param c7=Ccopper_PCB_per_mm2*a76
|
||
|
.param c8=Ccopper_PCB_per_mm2*a87
|
||
|
.param c9=Ccopper_PCB_per_mm2*a98
|
||
|
.param c10=Ccopper_PCB_per_mm2*a109
|
||
|
|
||
|
.param c1_FR4=Cfr4_PCB_per_mm2*a10
|
||
|
.param c2_FR4=Cfr4_PCB_per_mm2*a21
|
||
|
.param c3_FR4=Cfr4_PCB_per_mm2*a32
|
||
|
.param c4_FR4=Cfr4_PCB_per_mm2*a43
|
||
|
.param c5_FR4=Cfr4_PCB_per_mm2*a54
|
||
|
.param c6_FR4=Cfr4_PCB_per_mm2*a65
|
||
|
.param c7_FR4=Cfr4_PCB_per_mm2*a76
|
||
|
.param c8_FR4=Cfr4_PCB_per_mm2*a87
|
||
|
.param c9_FR4=Cfr4_PCB_per_mm2*a98
|
||
|
.param c10_FR4=Cfr4_PCB_per_mm2*a109
|
||
|
|
||
|
.func Squares(radius_outer,radius_inner) {(radius_outer-radius_inner)/(2*pi*(radius_outer+radius_inner)/2)}
|
||
|
.param r0=Squares(radius1,radius0)*Rcopper_PCB_per_square
|
||
|
.param r1=Squares(radius2,radius1)*Rcopper_PCB_per_square
|
||
|
.param r2=Squares(radius3,radius2)*Rcopper_PCB_per_square
|
||
|
.param r3=Squares(radius4,radius3)*Rcopper_PCB_per_square
|
||
|
.param r4=Squares(radius5,radius4)*Rcopper_PCB_per_square
|
||
|
.param r5=Squares(radius6,radius5)*Rcopper_PCB_per_square
|
||
|
.param r6=Squares(radius7,radius6)*Rcopper_PCB_per_square
|
||
|
.param r7=Squares(radius8,radius7)*Rcopper_PCB_per_square
|
||
|
.param r8=Squares(radius9,radius8)*Rcopper_PCB_per_square
|
||
|
.param r9=Squares(radius10,radius9)*Rcopper_PCB_per_square
|
||
|
|
||
|
.ends TopsideCopper
|
||
|
|
||
|
* block symbol definitions
|
||
|
|
||
|
.subckt radiation Tamb_C Tsurf_C
|
||
|
B1 Tsurf_C Tamb_C I=IF(Enable_Radiation>0,emissivity*sigma_mm2*{Area_mm2}*(Pow(V(Tsurf_C)+273,4)-Pow(V(Tamb_C)+273,4)),0)
|
||
|
.param emissivity=0.8
|
||
|
.param sigma_mm2=5.6703E-14
|
||
|
.param Enable_Radiation=1
|
||
|
.ends radiation
|
||
|
|
||
|
|
||
|
.subckt convection Tamb_C Tsurf_C
|
||
|
Rair Tsurf_C Tamb_C {1/(hconv*Area_mm2)}
|
||
|
.param LFM=0
|
||
|
.param PCB_FR4_Thickness_mm=1.5
|
||
|
.param hconv0=1.1625e-5
|
||
|
.param hconv={hconv0*(1+0.013*POW(LFM,0.8))}
|
||
|
.ends convection
|
||
|
|
||
|
|
||
|
|
||
|
|