在电子设备,尤其是高性能计算和大功率电子器件中,散热是一个重要的问题。印制电路板(PCB)作为这些设备中的关键组件,其散热性能直接影响到设备的稳定性和寿命。因此,对PCB进行有效的散热设计至关重要。
“达西流(Darcy Flow)”指的是在多孔介质中的流体流动,它遵循达西定律,即流体流速与压力梯度成正比。在PCB散热中,多孔介质可以是散热片或者散热器,而流体则通常是空气或者液体冷却剂。达西定律适用于低速流动,但在工业应用中,由于涉及到更高的流速,可能需要考虑非达西流,即流动不再是线性的,需要引入非线性项来描述。
“对流”是指流体流动带走热量的过程,是散热的主要方式之一。在PCB散热设计中,对流可以通过自然对流或强制对流实现,其中强制对流通常通过风扇或泵来增强流体流动,从而提高散热效率。
在PCB散热设计中,拓扑优化可以用来确定最佳的散热结构布局,例如散热通道的形状、大小和位置,以实现最佳的散热效果。这种方法可以提高散热效率,同时减少材料使用,降低成本和重量。
本教程使用OptiStruct的拓扑优化功能为CPU周围的冷却通道生成Darcy Flow分析工况下的设计。
在开始之前,请将本教程中使用的文件复 制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-HWX-T-9000/PCB.zip
本教程的方法1 和方法2 都使用相同的模型文件。
包含可设计区域(蓝色)和不可设计区域(粉红色)的有限元网格如图1 所示。图1.
表示可设计和非可设计材料的模型将导入到HyperMesh中。定义适当的属性、边界条件、载荷和优化参数,然后OptiStruct软件确定最佳冷却通道。
包括以下练习:
1·将模型导入HyperMesh
2·设置设计和实体材料
3·设置优化
4·在HyperView中查看结果
1.启动HyperWorks。
2.在New Session中,在HyperWorks下选择HyperMesh。
3.对于Profile,选择OptiStruct。
4.单击Create New Session。
1.在菜单栏上,选择File>Import>HyperMesh Model。
2.导航到并选择PCB.hm。
3.单击Open。
Note:如果模型在模型视窗之外加载,请按F以适应窗口。
1.在Model Browser中,右键单击并选择Create>Material。
2.对于Name ,输入material1。
3.对于Card Image,从下拉菜单中选择MAT1。
4.输入以下Material特性:
a)对于E,输入210000
b)对于NU,输入0.3。
c)对于RHO,输入7.85e-09。
5.选中MAT4复选框,然后输入以下属性:
a)对于K(热导率),输入44.0
b)对于CP,输入460000000。
c)对于RHO,输入7.8e-09。
6.单击Close。
1.在Model Browser中,右键单击并选择Create>Material。
2.对于Name ,输入material2。
3.对于Card Image,从下拉菜单中选择MAT1。
4.输入以下Material特性:
a)对于E,输入210000
b)对于NU,输入0.3。
c)对于RHO,输入7.85e-09。
5.选中MAT4复选框,然后输入以下属性:
a)对于K(热导率),输入44.0
b)对于CP,输入460000000。
c)对于RHO,输入7.8e-09。
6.选中DARCY复选框,然后输入以体材料属性:
a)KAPPA中,输入0.1。
b)对于MU,输入1e-09。
c)对于K,输入0.598。
d)对于CP,输入4183000000。
e)对于RHO,输入1e-09。
7.单击Close。
1.在Model Browser中,双击Properties以打开属性Browser。
2.在Browser中,选择property1。
3.对于Card Image,从下拉菜单中选择PSHELL。
4.对于Material,选择Unspecified>**/**以打开高级选择。
5.在对话框中,从列表中选择material2。
6.单击OK。
7.对于T,输入0.5。
8.单击Close。
1.在Property Browser中,选择property2。
2.对于Card Image,从下拉菜单中选择PSHELL。
3.对于Material,选择Unspecified>**/**以打开高级选择。
4.在对话框中,从列表中选择material1。
5.单击OK。
6.对于T,输入0.5。
7.单击Close。
1.在Model Browser中,双击Components以打开component Browser。
2.在Browser中,选择auto3。
3.对于Property ,选择Unspecified>**/**以打开高级选择。
4.从列表中选择property1,然后单击OK。对于Material,将自动选择material2。如果未选择material2,则可以使用高级选择来选择它。
1.在Property Browser中,右键单击property2并选择Isolate。
2.在Model Browser中,Create>Group。
3.对于name ,输入group1。
4.对于Card Image,选择CONDUCTION。
5.对于Secondary Entity IDs,选择property2 的Element。
6.单击OK。
图1.
1.从菜单栏中,选择Analyze功能区。
2.在功能区上,选择Flux工具。
图2.
3.在显示的面板上,选择elements>by group。
4.选中group1复选框,然后单击select。
5.对于value ,输入10.0。
6.对于相对大小,输入100.0。
7.单击create。
8.单击return。
1.在Model Browser中,右键单击并选择Create>Set。
2.对于name ,输入inlet。
3.对于Card Image,从下拉菜单中选择SET_GRID。
4.对于Entities,选择节点131 到151,如图3 所示。
图3.
1.在Model Browser中,右键单击并选择Create>Set。
2.对于name ,输入outlet。
3.对于Card Image,从下拉菜单中选择SET_GRID。
4.对于Entities,选择节点191 到211,如图4 所示。
图4.
1.从菜单栏中,选择Analyze功能区。
2.在功能区上,选择Temp Loads工具。
图5.
3.在显示的面板中,单击nodes>by set,然后选择inlet(节点131 到151)。
4.对于value ,输入0.0。
5.对于相对大小,输入100.0。
6.对于Load Type,请选择SPC。
7.单击create。
8.单击return。
1.在Model Browser中,右键单击并选择Create>Load Collector。默认Load Collector显示在Entity Editor中。
2.对于Name ,输入auto2。
3.Close窗口。
4.在Load Browser中,右键单击并选择Create>Flow Velocity>INLETVL。
5.对于ELSETID,选择Unspecified>**/**以打开高级选择。
6.在对话框中,选择inletvel (SURF set)。
7.对于Value ,输入50.0。
图6.
1.在Component Browser中,右键单击auto1并从上下文菜单中选择Make current。
2.在Model Browser中,Create>Load。
3.对于Load type,选择SPCP。
4.对于GSETID,选择Unspecified>**/**以打开高级选择。
5.在对话框中,从列表中选择outlet。
6.对于D,输入0.1。
7.单击Close。
1.在Model Browser中,右键单击并选择Create>Load Step。
2.对于Name ,输入CPU loading。
3.对于Analysis Type,从下拉菜单中选择Heat Transfer (Steady State)。
4.对于以下选择,请使用Unspecified>**/**打开高级选择。
a)对于SPC,请指定auto1。
b)对于LOAD,请指定auto1。
c)对于SPCP,请指定auto1。
d)对于INLTVEL,请指定auto2。
5.单击Close。
1.在菜单栏上,选择Optimize功能区。
2.在功能区上,选择Topology。
图7.
3.对于Name ,输入designvar。
4.对于Property Type ,从下拉菜单中选择PSHELL。
5.从属性列表中,选择Unspecified>**/**以打开高级选择。
6.在对话框中,选择property1。
7.在Parameters下的For Mindim下,输入5.0。
8.单击Close。
1.在菜单栏上,选择Optimize功能区。
2.在功能区上,选择Responses。
图8.
3.对于Name ,输入VOLFRAC。
4.对于Response Type,从下拉菜单中选择volumfrac。
5.单击Close。
6.创建第二个响应。
a)对于Name ,输入tcomp。
b)对于Response Type ,从下拉菜单中选择thermal compliance。
7.创建第三个响应
a)对于Name ,输入pressure。
b)对于Response Type ,从下拉菜单中选择flowpres。
c)对于List of Nodes,选择inlet的节点(节点131 到151)。
8.创建第四个响应。
a)对于Name ,输入average。
b)对于Response Type ,从下拉菜单中选择function。
c)对于Function,从下拉菜单中选择avg。
d)对于Response List,选择Optimization Responses>**/**以打开高级选择。
e)在对话框中,选择pressure,然后单击OK。
9.单击Close。
1.在菜单栏上,选择Optimize功能区。
2.在功能区上,选择Objectives。
图9.
3.对于Objective Type,选择Minimize。
4.对于响应ID,选择Unspecified>**/**以打开高级选择。
5.在对话框中,选择tcomp。
6.对于Load step ID,打开advanced selection,然后选择CPU loading。
1.在菜单栏上,选择Optimize功能区。
2.在功能区上,选择Constraints。
图10.
3.对于Name ,输入volconst。
4.对于Response ,选择Unspecified>**/**以打开高级选择。
5.在对话框中,选择VOLFRAC。
6.对于Lower Options,从下拉菜单中选择Lower Bound。
7.在Lower Bound文本框中,输入0.8。
8.创建另一个约束。
1.对于Name ,输入presConst。
2.对于Response ,打开advanced selection并选择average。
3.对于List of Load steps,打开advanced selection ,然后选择CPU loading。
4.对于Upper Options,从下拉菜单中选择Upper Bound。
5.在Upper Bound文本框中,输入0.1002。
9.单击Close。
1.在Analysis页面中,单击OptiStruct。
2.单击save as。
3.在Save As对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入PCB。对于OptiStruct求解器模型,建议使用.fem扩展名。
4.单击Save。input file字段显示在Save As对话框中指定的文件名和位置。
5.将导出选项切换设置为all。
6.将run options切换设置为optimization。
7.将内存选项切换设置为memory default。
8.单击OptiStruct运行优化。
作业完成时,窗口中会显示以下消息:
OPTIMIZATION HAS CONVERGED.
FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
如果存在错误消息,OptiStruct 还会报告错误消息。可以在文本编辑器中打开文件PCB.out以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。
1.在Solver窗口中,选择Results以在HyperView中打开结果。
2.HyperView,选择Contour
3.在第一个下拉菜单中,对于Results Type ,选择Element Densities。
4.单击Apply。
图11.