線上影音

Home > Icepak教學 > AEDT Icepak入門

 

本文始於2022,依2021R2 AEDT Icepak Getting Started Guide為基礎,示範完整操作流程,並對常見問題說明。

  1. 準備工作

  2. 專案設定

    2.1 打開初始範例

    2.2 設定Icepak Options

    2.3 設定Solution Type

  3. 建立與指定材料

    3.1 建立與指定PCB材料

    3.2 指定其他物件材料

    3.3 指定表面材料

  4. 準備與執行初始模擬

    4.1 指定窗格(Grille)、開放(Opening)邊界與塊狀熱源(Block)

    4.2 添加求解設定

    4.3 產生全域網格(Global Mesh)

    4.4 檢核專案正確性

    4.5 建立觀測點(Monitor)

    4.6 執行模擬分析

    4.7 後處理顯示結果

  5. 加強網格後再模擬

    5.1 複製前一個Icepak設計案

    5.2 加強網格設定

    5.3 重新生成網格,並檢視結果

    5.4 重新模擬,比較收斂狀況與網格質量指標

    5.5 後處理顯示結果

  6. 參數化實驗設計分析(DoE)

    6.1 複製前一個設計案

    6.2 添加與套用變數

    6.3 添加DoE設定

    6.4 設定DoE計算

    6.5 執行DoE分析

  7. 散熱片上加風扇

    7.1 加入現成風扇

    7.2 模擬結果

    7.3 加大風扇功率

    7.4 模擬結果

  8. 問題與討論

    8.1 除了步驟3.1,Icepak內有其他的PCB建模(匯入)方式嗎?

    8.2 步驟2.1背景空間(邊界)大小該如何定義,有沒有建議的規則?

    8.3 步驟3.1設定整塊PCB導熱係數型態為Anisotropic是什意思?其tensor如何決定?

    8.4 步驟4.1只設定YZ平面方向的兩個邊界,另外沒設定的四個面,軟體默認如何處理?

    8.5 網格會影響Icepak結果,判定網格品質與收斂標準的SOP是什麼?為什麼不能做自適應網格?

  9. 參考

  1. 準備工作

    AEDT Icepak快速入門的文件在以下安裝路徑

    C:\Program Files\AnsysEM\AnsysEM21.2\Win64\Help\Icepak\GSG\Icepak Getting Started Guide.pdf

    AEDT Icepak快速入門的初始範例在以下安裝路徑

    C:\Program Files\AnsysEM\AnsysEM21.2\Win64\Help\Icepak\Graphics_Card_Geometry.aedt

    AEDT Icepak快速入門的完成範例在以下安裝路徑

    C:\Program Files\AnsysEM\AnsysEM21.2\Win64\Examples\Icepak\Graphics_Card.aedt

  2. 專案設定

    2.1 打開初始範例

    [File] \ [Open Examples] \ 改選Help\Icepak路徑下的初始範例Graphics_Card_Geometry.aedt

    可以從[View] \ [Grid Settings] \ [Grid Visiability]選"Show"或"Hide"來決定顯示空間格線與否。

    可以從[View] \ [Coordinate Systems]決定要不要顯示座標。

    上圖的紅色外框,為求解空間的範圍定義,可以從[Draw]標籤選單中的[Create Region]由使用者自行繪製,或由Icepak在匯入設計時就自動產生2.2

    檢視此例空間的大小定義:XYZ軸方向都往外延伸50%

    2.2 設定Icepak Options

    [Tools] \ [Options] \ [General Options] \ [Icepak] \ [General] \ 核選[Auto create region]

    [Tools] \ [Options] \ [General Options] \ [Icepak] \ [Thermal] \ 核選[Use Wizards for data input when creating new boundaries]

    經過以上的設定,當Icepak匯入設計(結構)時,就會自動建立合適的背景空間大小(邊界)。

    2.3 設定Solution Type

    [Icepak] \ [Solution Type] \ 選擇"Steady state"與"Themperature and Flow"

  3. 建立與指定材料

    3.1 建立與指定PCB材料

    選定PCB物件,建立一個"PCB_Material"材料,並指定給該PCB。

    定義這PCB_Material導熱係數(Thermal Conductivity)的型態為"各向異質"(Anisotropic)。

    "各向異質"表示該材料的導熱係數在不同座標軸方向上各為不同(各方向的導熱能力不同)。

    設導熱係數各方向張量(tensor): T(1,1)=20, T(2,2)=0, T(3,3)=20. refer to 8.3

    Mass Density, Specific Heat, and Thermal Expansion Coefficient=1

    Note: Since we are solving a steady-state simulation, these values are just placeholders
    and are ignored in the solver.

    3.2 指定其他物件材料

    選擇CPU, Memory1與Memory2物件,指定為Ceramic_material(陶瓷)材料。

    選擇CAPACITOR, CAPACITOR_1, Heat_Sink, KB與Serial_Port,指定為Al-Extruded(鋁射出成形)材料。

    對於CAPACITOR and CAPACITOR_1,原文件中特別要求不勾選[Solve Inside],故只能看表面溫度

    從材料庫觀察,導體的導熱係數約400(Cu)~315(gold)~205(Al-Extruded),介質導熱係數約0.0261(air)~0.294(FR4)~15(Ceramic_material)

    3.3 指定表面材料

  4. 選定所有物件,從[Modeler] \ [Assign Surface Material]設定為"Steel-oxidised-surface"。也可以選定物件後從屬性視窗內設定。

    這設定步驟是為了計算熱表面輻射行為用的。refer to 4.2 "Radiation Model"

  5. 準備與執行初始模擬 

    4.1 指定窗格(Grille)、開放(Opening)邊界與塊狀熱源(Block)

    4.1.1 依下圖操作將圖面轉成從右上方俯視 (Alt+右上區左鍵雙擊也可以)

    (確認鍵盤在英文模式下)按F鍵,轉換成選擇"面"的模式,選擇Max-X方向上的面

    按右鍵選[Assign Thermal] \ [Grille] \ Free Area Ratio設0.8 ...在下風處(氣體排出口)設定有網格開孔的透氣邊界條件。而0.8表示80%開孔率,會帶經驗式計算損失因子(loss coefficient),而估算壓降(Pressure Drop)。Icepak HELP p.1385有詳細說明

    4.1.2 同樣的方式,選Min-X方向上的面(可以靠Alt+左鍵拖曳旋轉),按右鍵選[Assign Thermal] \ [Opening] \ [Free] \ 在"Inlet type"選[velocity]=X velocity 2 m-per-sec(每秒兩米的風速) ... 指定X方向入口邊界條件(上風處)。

    以上兩個邊界條件(Grille, Opening)設定視窗中,分別有[Thermal Specification] \ [External Temperature]與[External Radiation Temperature]環境溫度條件,不用設定嗎??

    4.1.3 CPU指定為熱源"Block"總功率25W;Memory1 and Memory2,指定為熱源"Block"總功率5W

    AEDT Icepak getting started guide與Icepak-Twin Builder link教材的IC物件(熱源)都是以"Block"設定,請參考Block vs. Source

    以上全部設定完成後,展開Project視窗下的[Thermal],可以看到目前所有的邊界與熱源設定。

    4.2 添加求解設定

    默認疊代次數100。如果數值模型已收斂(Residue),但物理量(Monitor)仍還在變化,必須持續加嚴收斂條件直到監測的物理量達穩定。(e.g. 疊代步增加到 300)

    因為在步驟4.1.2中有設定環境條件是每秒兩米的風速,本文末也會加風扇,也就是應用場景屬於"強制對流",所以這裡[Flow Regime]建議設定"Turbulent"(紊流,湍流)

    什麼情況下[Options]需要設其他Turbulent Flow Model? Ans : 有比較複雜流動(風扇或Thermal Stream)

    [General]設定頁面下的[Radiation Model]與[Include Gravity]設定不同會差多少? Ans : 視應用場景而定,對自然對流的題目差異小

    [Convergence]設定頁面下關於的默認收斂條件(Flow=1e-4、Energy=1e-7),可適用於大部分自然對流的場景。軟體很貼心地提供使用者不同應用場景下的建議設定。

    [Solver settings]設定頁面下關於Initial Conditions內的流速與溫度設定,與4.1.2內的設定有何不同? Ans : 前者是初始值,後者是外部環境條件。

    4.3 產生全域網格(Global Mesh)

    檢視全域網格設定

    先全部採用默認值設定,本文5.2會示範不同網格設定對結果的影響(改善)。

    當結構、材料與邊界設定完成,就可以按[Generate Mesh]產生網格。

    當網格生成完成,會自動跳出[Mesh Viewer]視窗,如下所示:左上方顯示總網格數12.5萬。

    可以在上圖左下方[Geometry Filters]選擇物件搭配[Cut Plan]顯示方式。

    另一種檢視網格的方式:選定所有物件後,[Mesh Display on]內切到[Geometry/Boundary selection]

    幾乎是每個初學者都會問的:如何判定網格質量好不好呢?

    有以下三個指標:Face alignment、Volume、Skewness ... 該怎麼看呢?

    請注意每個指標的Max、Min

    建議:Face alignment: >0.05, Skewness: >0.02

    下圖的Skewness看來就不符合建議,在4.7.1的溫度分佈圖確實也出事了,本文5.2將教您如何設定以加強網格品質,改善溫度分佈的顯示問題。

    4.4 檢核專案正確性

    4.5 建立觀測點(Monitor)

    用以觀察溫度/流速...等關鍵指標,於疊代求解過程的收斂性是否足夠與穩定。

    4.5.1 在熱源(CPU, Memory1)上,放置溫度監控點

    選定CPU"物件",按右鍵[Assign Monitor] \ [Point] \ 勾選 [Thermal] \ [Temperature]

    4.5.2 在流速的尾端,放置流速監控點

    同本文4.1.1步驟,選定Max-X方向上的"面",按右鍵[Assign Monitor] \ [Point] \ 勾選 [Flow] \ [Speed]

    4.6 執行模擬分析

    先在HPC設定多核(core)多工(task)

    執行模擬分析(Run Analysis)

    如果核心數超過四,另需要HPC license。

    如果Icepak分析時,希望CPU滿載,設1 CPU / 1 task。但筆者實測起來,設2 CPU / 1 task雖然CPU不會滿載,但整體求解速度反而是明顯較快的。(不是task越多就越快)

    Continuity簡單來看就是針對模型收斂難易度進行評分,數值越小越好,比如說小於0.001。

    當你看到各維度的[Residual]都穩定下降,且各觀察指標都數值穩定(收斂),就表示這值可以了。

    如果各觀察指標(Monitor)數值都穩定收斂,但某些維度的Residual是跳動的,那要小心是假收斂。

    4.7 後處理顯示結果

  6. 4.7.1 繪製整體溫度分佈

    選擇PCB物件(ALPHA_MAIN_PCB)與散熱片物件(HEAT_SINK),按右鍵選擇[Plot Fields] \ [Temperature] \ [Temperature],勾選[Plot on surface only],按OK。

    上圖在Memory1、Memory2正下方的PCB溫度畫不出來,是什麼原因呢?

    透過[Mesh Viewer]觀察,就會發現是因為此區域的網格數量太少。

    本文5.2將教您如何加強網格以改善這溫度在部分區域無法顯示的問題。

    4.7.2 於平面上繪製溫度與壓力分佈

    建立一個新的座標定位點CS1

    選擇坐標系的CS1:XY平面,主是窗內按右鍵選擇[Plot Fields] \ [Temperature] \ [Temperature],按OK。

    選擇坐標系的CS1:XY平面,按右鍵選擇[Plot Fields] \ [Pressure] \ [Pressure],按OK。

    劃出上圖的方法不只一種,也可以單獨畫出一個平面,在該平面上plot field (GSG作法)。

    4.7.3 建立場總結表

    類似上述步驟,Geometry Type選[Voulme],Entity選CPU,Quantity選[Temperature]

    類似上述步驟,Geometry Type選[Voulme],Entity選Memory,Quantity選[Temperature]

    最後結果如下圖,可以按[Apply and Export]輸出Excel表格。

    Entity Type選Boundary,且Geometry Type選[Voulme]時,Entity欄位下只有CPU與Memory兩個可以選擇,這是因為只有這兩個設定為"Block" 。

  7. 加強網格後再模擬

    5.1 複製前一個Icepak設計案

    把原本的IcepakDesign1透過複製貼上成另一個IcepakDesign2。

    5.2 加強網格設定

    5.2.1 加強求解題目中,影響熱傳導較關鍵的物件(散熱片)

    選定散熱片HEAT_SINK,按右鍵選擇[Assign Mesh Region],並把[Resolution]往右調到最高(網格最細密)

    5.2.2 加強全域Y軸方向的網格解析度(Global Mesh Setting) -- 以改善Memory正下方PCB上網格不足

    5.3 重新生成網格,並檢視結果

    總網格數從12.5萬變成49.8萬。

    5.4 重新模擬,比較收斂狀況與網格質量指標

    [Residual]與4.6幾乎相同,[Thermal Monitor]與[Flow Monitor]則差一點點。

    Skewness指標過關了 (建議:Face alignment: >0.05, Skewness: >0.02)

    5.5 後處理顯示結果

    最高溫度從75cC上升為77oC,且記憶體下方的PCB溫度也有顯示出來了。

    也可以向量方式顯示流速分佈

    選擇坐標系的CS1:XY平面,主視窗內按右鍵選擇[Plot Fields] \ [Velocity] \ [Velocity Vectors],按OK。

  8. 如果覺得CS1:XY平面資訊太混亂,可以關掉溫度,只顯示流速

    存檔。

  9. 參數化實驗設計分析(DoE)

    6.1 複製前一個設計案

    把原本的IcepakDesign2透過複製貼上成另一個IcepakDesign2 wi optimetric。

    6.2 添加與套用變數

    依下圖程序,將CPU的功耗設為變數"$CPU_Power"=25W

    在AEDT環境下,全域變數以"$"為前置符號。

    同樣地,把Memory的功耗設為變數"$Memory_Power"=5W

    把背景空間Opening1的X向流速設為變數"$Fan_X"=2

    當以上設置都完成,滑鼠選Project "Graphics_Card_21R2"就可以在屬性視窗看到三個變數。接著從[Project] \ [Project Variables]核選[Optimization/Design of Experir],Include全部三個變數,按[套用]後[確定]。

    6.3 添加DoE(Design of Experiments)設定

    如何選擇合適的DoE Type??

    檢視[Table]發現軟體默認是以50%範圍做DoE

    6.4 設定DoE計算

    如下圖所示,添加以CPU溫度、Memory溫度、出風口流速為計算標的

    6.5 執行DoE分析

  10. 執行DoE分析

    模擬結果

  11. 散熱片上加風扇

    7.1 加入現成風扇

    把原本的IcepakDesign2透過複製貼上成另一個IcepakDesign3。

    把主視窗切換到XZ平面檢視模式,並在散熱片正上方建立一個新的CS2座標系(緊貼散熱片),且此新的坐標系是以散熱片下方為+Z方向。

    把風扇直接從元件庫拉進來,並把原CS2座標往上拉7.6mm(風扇厚度),這樣風扇的出風口就正好貼著散熱片。

    7.2 模擬結果

    最高溫度從77.6oC變成77.1oC,這是因為加散熱片的情況下,最高溫度發生在Memory而不是CPU。如果看CPU最高溫度,則從50.9oC變成50.1oC。

    7.3 加大風扇功率

    將0.6W的風扇改2.16W較大的風扇

    7.4 再模擬結果

    最高溫度下降了1oC變成76oC,但CPU最高溫度,則從50.9oC變成47oC。

  12. 問題與討論

    8.1 除了步驟3.1,Icepak內有其他的PCB建模(匯入)方式嗎?

    Ans: Icepak有三種建立PCB模型的方式

    本文3.1對整塊PCB物件設定導熱係數,即使是各向異質,仍舊是不夠精細的集總(lump)表示。

    另一種可以設定解析度的等效方式,稱作"trace mapping",會在Icepak匯入PCB時使用,也是SIwave-Icepak默認採用的技術。這是分析複雜PCB結構時,準度與求解資源平衡的最佳方案。

    第三種是如Q3D-Icepak採用的方式,3D模型原汁原味呈現,不做任何的等效簡化。

    8.2 步驟2.1背景空間(邊界)大小該如何定義,有沒有建議的規則?

    Ans:與HFSS相同的,對Icepak來說,背景空間大小也是會影響模擬結果的。

    兩者都與題目特性有關:HFSS依結構的自然共振頻率決定背景空間大小,Icepak則是依所考慮題目的主要散熱行為(傳導熱/自然對流/強制對流)決定所需的背景空間大小。

    也可以參考SIwave-Icepak 5.2.1所示,取背景空間的延伸分別為:流速垂直方向25%, 流速源頭端100%, 流速尾端50%當默認值。想想為什麼軟體默認這麼取?

    綜上所述,可以取默認設定準則為:流速源頭設100~150%延伸,流速尾端設50~100%延伸,與流速垂直的方向設25%~50%延伸,另外視需要(網格質量)對背景空間內部與題目中主要影響熱傳的物件(如:熱源、散熱片、風扇)周圍設Mesh Region。也就是空氣域可以採用像HFSS解天線改善輻射效率的手法一樣"大腸包小腸"的方式來增加準度。

    8.3 步驟3.1設定整塊PCB導熱係數型態為Anisotropic是什意思?其tensor如何決定?

    Ans:HELP內有說明,Anisotropic表示材料的導熱係數在不同座標軸方向上各為不同。而此種材料特性支持於2D物件,但並不支持Q3D求解器使用。

    如果我們觀察SIwave輸出到Icepak的3D模型,其PCB的導熱係數並不是用這種各向相異性的材料表示,而且把銅與FR4分開。故本文把整塊PCB以非等向性的導熱係數型態設定,只是一種簡化的集總表示,其概念上包含了金屬與介質層的材料導熱特性,與金屬層的導體分佈...總效應,所以這tensor參數只能由模擬者憑經驗概估輸入。

    T(1,1), T(2,2), T(3,3)分別表示對應XYZ坐標軸方向的導熱係數,又本文範例的PCB是位於XZ平面,所以XZ方向的導熱係數(靠copper)>>Y方向的導熱係數(靠FR4與via)。 這就是為什麼設定T(1,1)=20, T(2,2)=0, T(3,3)=20。

    8.4 步驟4.1只設定YZ平面方向的兩個邊界,另外沒設定的四個面,軟體默認如何處理?

    Ans:一個不透氣也不導熱的邊界,主要就只是求解範圍的邊界定義。

    8.5 網格會影響Icepak結果,判定網格品質與收斂標準的SOP是什麼?為什麼不能做自適應網格?

    Ans:分兩方面來談

    判定網格品質與收斂標準的SOP,三個步驟
    -- 殘值(Residual)持續變小不跳動(建議Continuity<1e-3),且Monitor的物理指標值穩定不變化
    -- Mesh Quality滿足Face alignment>0.05、Skewness >0.02
    -- 檢視影響熱傳的關鍵物件(如熱源、散熱片、風扇附近流場),是否都有佈網格且網格均勻(足夠)
    如果有以上任一條件不滿足,需透過[Global Mesh] \ [Advanced]加強設定,或添加額外的mesh region。

    Icepak不像HFSS有自適應性(adaptive mesh)網格技術來降低使用者處理網格問題的門檻,其中一個原因是Icepak不像HFSS可以找到一個合適的物理指標(S參數)來當做網格收斂的標準。也就是S參數物理意義在某種程度上是涵蓋RLC的(雖然收斂靈敏度不同),但溫度、流速、壓力彼此是互不包含的物理量,這讓Icepak若想做到像HFSS這麼好用的自適應性網格,難度是更高的。

    當你遇到模擬溫度與量測溫度不符時,先嘗試加強網格以排除是網格不足引起的(未收斂)誤差,如果還是沒有改善,再思考模擬的邊界條件或材料係數是否還有哪裡未考慮或與實際不符。

  13. 參考

[1] SIwave-Icepal two-way coupling analysis flow

[2] Q3D-Icepak two-way coupling analysis flow

[3] Mechanical thermal solution