title 'GaN HEMT Double 1um Gate' Coordinates cartesian3 variables Temp !(threshold=0.1) select initgridlimit=0 smoothinit=off definitions k { thermal conductivity -- values supplied later } kgan=0.00021 {hexagonal GaN, W/um-K} ksic=0.00049 {6H-SiC} kau=0.000381 {Gold } kcu=0.000401 {Cu} kair=0.0000000257 Q { Thermal source } h=3e-11 {Heat transfer coefficient, here 30 W/m2-K = 30*10-12 W/um2-K} PackageX=5715 PackageY=8660 SubstrateX=487.5 SubstrateY=1500 ChannelX=17.75 ChannelY=80 GateX1=15 GateX2=16 GateY=80 {Rho RhoSic=3.211e-9 {g/um^3} RhoCu=8.94e-9 RhoAu=19.30E-9 RhoGaN=6.1e-9 Cp CpSic=1.09 {J/molK} CpGaN=35.3 {*can be temperature dependent Cp=32.960+0.162*10^-1*Temp+2360170T^-2-775370000T^-3 Tomaskiewicz et al. "Heat Capacity of GaN" Journal of Thermal analysis and colorimetry} CpCu=24.44 CpAu=25.} ! comment this out on first run: !transfermesh("afrl_mesh_2.xfr") {Zbottom=0 ZSubstrate=630 ZBuffer=880 ZActive=882.25 ZContact=882.27 ZTop=882.58} zscale1=1/2 zscale=zscale1 zscale2=20 Zpackage=630*Zscale1 ZSiC=250*Zscale1 ZGaN=2.248*Zscale1 ZChannel=0.02*Zscale2 ZGate=0.31*Zscale1 !ws = w*zscale2 !ls = long*zscale1 initial values !Temp = 60+40*exp(-z/100) Temp=25 equations !div ( k * grad(Temp) ) + Q = Rho * Cp * dt(Temp) ! div[k*grad(Temp)] + Q = 0 { the heat equation } dx[k*dx(Temp)]/zscale + dy[k*dy(Temp)]/zscale + dz[k*zscale*dz(Temp)] + Q/zscale = 0 Extrusion Z=0,Zpackage,Zpackage+ZSic,Zpackage+Zsic+Zgan,Zpackage+Zsic+Zgan+Zchannel,Zpackage+Zsic+Zgan+Zchannel+ZGate {Surface 'Bottom' Z=0 Layer 'Package' Surface 'Substrate' Z=630 Layer 'SiC' Surface 'Buffer' Z=880 Layer 'GaN' Surface 'Active Layer' z=882.25 !Z=882.248 Layer 'Channel' Surface 'Contact' z=882.27 !Z=882.268 Layer 'Gate' Surface 'Top' z=882.58 !Z=882.578} BOUNDARIES Surface 1 Value(temp)=100 Surface 6 Natural(temp)=h*(25-temp) Region 1 'Package' Layer {'Package'} 1 k=kcu Q=0 Layer {'SiC'} 2 Void !k=ksic Q=0 !Rho=RhoSic Cp= CpSic Layer {'GaN'} 3 Void !k=kgan Q=0 !Rho=RhoGaN Cp=CpGaN Layer {'Channel'} 4 Void Layer {'Gate'} 5 Void start (-PackageX,-PackageY) Natural(temp)=h*(25-temp) !(-487.5,-1212.5) line to (-PackageX,PackageY) line to (PackageX,PackageY) line to (PackageX,-PackageY) line to close limited Region 2 'SiC' !Layer 'Package' k=kcu Q=0 ! Rho=RhoCu Cp=CpCu Layer {'SiC'} 2 k=ksic Q=0 !Rho=RhoSic Cp= CpSic Layer {'GaN'} 3 k=kgan Q=0 !Rho=RhoGaN Cp=CpGaN layer {'channel'} 4 k=kgan q=0 Layer {'Gate'} 5 Void start (-SubstrateX,-SubstrateY) Natural(temp)=h*(25-temp) line to (-SubstrateX,SubstrateY) line to (SubstrateX,SubstrateY) to (SubstrateX,-SubstrateY) line to close Limited Region 3 'Active Layer' Layer {'Channel'} 4 K=kgan q=0 Zscale=zscale2 Layer {'Gate'} 5 Void start (-SubstrateX,-SubstrateY) Natural(temp)=h*(25-temp) Layer {'Channel'} 4 Load(Temp)=h*(25-temp)/zscale2 line to (-SubstrateX,SubstrateY) to (SubstrateX,SubstrateY) to (SubstrateX,-SubstrateY) line to close Limited Region 4 'Active Region' layer {'Channel'} 4 k=kgan Q=0.5 zscale=zscale2 layer {'gate'} 5 void start (-ChannelX,-ChannelY) Natural(temp)=h*(25-temp) layer {'channel'} 4 Load(Temp)=h*(25-temp)/zscale2 line to (-ChannelX,ChannelY) to(ChannelX,ChannelY) to (ChannelX,-ChannelY) to close Limited Region 5 'Gate' layer {'gate'} 5 k=kau q=0 start (-GateX2,-GateY) Natural(temp)=h*(25-temp) line to (-GateX2,GateY) line to (-GateX1,GateY) to (-GateX1,-GateY) line to close start (GateX1,-GateY) Natural(temp)=h*(25-temp) line to (GateX1,GateY) line to (GateX2,GateY) to (GateX2,-GateY) line to close !TIME 0 TO 10 ! by 1 { if time dependent} plots !for t=1 !for cycle=100 grid(x,y,z) grid(x,z) on y=0 grid(y,z) on x=0 grid (y,z) on x=0 zoom (-20,600,40,283) !grid(x,y) on 'active region' !contour(TEMP) painted on 'active region' as 'XY Temp' contour(TEMP) painted on x=0 as "YZ Temp" contour(TEMP) painted on y=0 as "XZ Temp" elevation(TEMP) painted from (-488,0,0) to (488,0,0) as "X-Axis Temp" !range=(0,tmax) elevation(TEMP) painted from (0,-1213,0) to (0,1213,0) as "Y-Axis Temp" !range=(0,tmax) elevation(TEMP) painted from (0,0,0) to (0,0,883) as "Z-Axis Temp" !range=(0,tmax)} surface(temp) on x=0 surface(temp) on y=0 !surface (temp) on 'active region' {for t=0,endtime transfer(temp) file="afrl_mesh.xfr" histories history(Temp) at (0,0,882.578) (0,0, 882.268) (0,0, 882.248) (0,0,880) (0,0,630) history(Temp) at (15.5,0,882.578) (15.5,0,882.268) (15.5,0,882.248) (15.5,0,880) (0,0,630)} end