Eastsheng's Wiki

简单双晶体管热仿真

2025-10-21 21:00:28

[toc]

八功率源结构

  • 八功率源结构(Eight Power Source Structure)

    所需模块: DevEdit 3D / Thermal 3D
    最低版本要求: Atlas 5.28.1.R
    结果文件: thermalex02_plot0、thermalex02_plot1

    🌡️ 示例说明

    本示例演示了一个具有 8 个功率源的两层结构的热模拟。
    主要的顺序任务包括:

    1. 在 DevEdit 3D 中定义全部 10 个区域(regions)
    2. 在 DevEdit 3D 中指定 散热区域(heat sink)
    3. 将模型导入 Atlas
    4. 选择合适的 热学模型(thermal models)材料参数(material parameters)
    5. 求解整个结构的 温度分布(temperature distribution)

    该示例类似于 Ken Poulton 等人发表的论文
    《Thermal Simulation and Design of a GaAs HBT Sample and Hold Circuit》(GaAs HBT 采样保持电路的热仿真与设计)中描述的器件。
    其器件工艺来源于 R. Nubling 在 1990 年 GaAs IC Symposium 技术文集(第 53–56 页)中的论文。

    🧱 结构定义

    在本例中,结构通过 DevEdit 3D 定义,方法与前一个示例类似。
    最初,使用 DevEdit 3D 的图形模式创建结构;
    生成网格后,从 DevEdit 3D 中保存命令文件,以便在 DeckBuild 中重新创建相同结构。

    ⚙️ 在 Atlas 中的设置与求解

    进入 Atlas 后,

    * 使用 models thermal 语句表明这是一个热分布仿真
    * 使用 material 语句为结构中8 个产热区域分别设置热功率输出(heat power output)
    * 将第 10 区域定义为热导率常数为 1.0
    * 使用 solve t1=300 语句在电极上设定边界温度为 300 K,并在整个结构中自洽求解热传导方程

    最终得到的 三维温度分布 可在 TonyPlot 3D 中进行可视化。

    ▶️ 运行方法

    DeckBuild 中点击 Load 按钮,选择该示例即可加载。
    这将把输入文件及相关支持文件复制到当前工作目录中。
    随后点击 Run 按钮即可执行该示例。

输入文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# (c) Silvaco Inc., 2019
# 启动 DevEdit 3D 模块,用于建立几何结构与网格。
go devedit

#
# ATLAS 3D Thermal simulation
# 2 layer structure with 8 elements dissipating energy
#

DevEdit version="2.0" library="1.14"
# 建模的工作区大小
work.area left=0 top=0 right=1000 bottom=1000

# SILVACO Library V1.14
# 定义结构各区域,使用默认网格参数
region reg=1 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=10 \
points="0,0 1000,0 1000,1000 0,1000 0,0"
#
constr.mesh region=1 default

region reg=2 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="500,500 600,500 600,600 500,600 500,500"
#
constr.mesh region=2 default

region reg=3 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="700,280 870,280 870,400 700,400 700,370 830,370 830,310 700,310 700,280"
#
constr.mesh region=3 default

region reg=4 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="100,90 260,90 260,160 100,160 100,90"
#
constr.mesh region=4 default

region reg=5 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="60,790 350,790 350,850 170,850 170,930 60,930 60,790"
#
constr.mesh region=5 default

region reg=6 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="800,50 860,50 860,90 800,90 800,50"
#
constr.mesh region=6 default

region reg=7 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="800,850 920,850 920,870 800,870 800,850"
#
constr.mesh region=7 default

region reg=8 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="800,800 920,800 920,820 800,820 800,800"
#
constr.mesh region=8 default

region reg=9 mat=Silicon color=0xffc000 pattern=0x4 Z1=0 Z2=2 \
points="800,900 920,900 920,920 800,920 800,900"
#
constr.mesh region=9 default

region reg=10 mat="Silicon Oxide" color=0xff pattern=0x2 Z1=10 Z2=200 \
points="0,0 1000,0 1000,1000 0,1000 0,0"
#
constr.mesh region=10 default

region reg=11 name=substrate mat=Aluminum elec.id=1 work.func=0 color=0xffc8c8 pattern=0x7 Z1=200 Z2=201 \
points="0,0 1000,0 1000,1000 0,1000 0,0"
#
constr.mesh region=11 default

# Set Meshing Parameters
# 设置全局网格尺寸上限
base.mesh height=1000000 width=1000000
# 自动平滑边界线,避免网格畸变
bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=0.001 line.straightening=1 align.points when=automatic
# 在 z=0 附近加密网格
imp.refine min.spacing=0.02 z=0
# 控制单元网格质量:角度 ≤90°,尺寸比 ≤300,尺寸范围 0.0001~100。
constr.mesh max.angle=90 max.ratio=300 max.height=100 \
max.width=100 min.height=0.0001 min.width=0.0001
# 按材料类型定义网格规则,为不同材料类型定义默认的网格约束(半导体、绝缘体、金属等)
constr.mesh type=Semiconductor default
#
constr.mesh type=Insulator default
#
constr.mesh type=Metal default
#
constr.mesh type=Other default
#
constr.mesh region=1 default
#
constr.mesh region=2 default
#
constr.mesh region=3 default
#
constr.mesh region=4 default
#
constr.mesh region=5 default
#
constr.mesh region=6 default
#
constr.mesh region=7 default
#
constr.mesh region=8 default
#
constr.mesh region=9 default
#
constr.mesh region=10 default
#
constr.mesh region=11 default
#
# Perform mesh operations
# 局部加密

refine mode=both x1=26.3157894736842 y1=29.4117647058824 x2=315.789473684211 y2=246.130030959752
refine mode=both x1=755.417956656347 y1=9.28792569659443 x2=896.284829721362 y2=171.826625386997
refine mode=both x1=668.730650154799 y1=210.526315789474 x2=891.640866873065 y2=473.684210526316
refine mode=both x1=450.46439628483 y1=430.340557275542 x2=679.566563467492 y2=613.003095975232
refine mode=both x1=766.25386996904 y1=721.362229102167 x2=961.300309597523 y2=975.232198142415
refine mode=both x1=29.4117647058824 y1=726.006191950464 x2=388.544891640867 y2=973.684210526316

imp.refine min.spacing=0.02 z=0

constr.mesh max.angle=90 max.ratio=300 max.height=100 \
max.width=100 min.height=0.0001 min.width=0.0001
#
constr.mesh type=Semiconductor default
#
constr.mesh type=Insulator default
#
constr.mesh type=Metal default
#
constr.mesh type=Other default
# Z方向剖分(层厚)
z.plane z=2 spacing=1
#
z.plane z=10 spacing=2.5
#
z.plane z=200 spacing=40
#
z.plane max.spacing=1000000 max.ratio=100

base.mesh height=1000000 width=1000000

bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=0.001 line.straightening=1 align.Points when=automatic
# 构建 3D 网格
Mesh Mode=MeshBuild

struct outfile=thermalex02.str
# 进入 Atlas 进行热模拟
go atlas
# 载入前面生成的网
mesh infile=thermalex02.str
# 启用热传导模型
models thermal
# 采用默认数值求解方法
method
# 定义发热功率与材料属性
# 区域 1(底层硅)未指定功率,因此为被动层。
material region=1
material region=2 power=1.3
material region=3 power=2.0
material region=4 power=1.5
material region=5 power=1.8
material region=6 power=0.2
material region=7 power=0.3
material region=8 power=0.4
material region=9 power=0.3
material region=10 tc.const=1
# 设置接触电极温度为 300 K(热边界条件),输出求解结果文件
solve t1=300 outf=thermalex02_0.str
tonyplot3d thermalex02_0.str -set thermalex02_0.set
tonyplot3d thermalex02_0.str -set thermalex02_1.set

quit

理解代码

见in文件

模拟结果

image-20251022203215736