Home
探索 Uedu
學生控制台
註冊會員/登入
研究知情同意中心
問卷中心
教師控制台
課程設定
支援與訊息
Uptime 數據

UeduGPTs

--

Jupyters

3

UG26 CISOSE26
陽明交大 AQI 47 29°C PM2.5 9

AI 回覆桌面通知

AI 助教回覆完成時顯示桌面通知

聊天訊息通知

同學在討論區發送訊息時通知

聲音通知

每當有新通知時播放提示音

CAD/CAE

當電腦說「這個托架安全」,它到底算了什麼?

從 CAD 的 NURBS 幾何到 CAE 的有限元素法,拆解電腦那幾秒鐘求解的 Ku=F,並看清網格收斂、應力奇異點與邊界條件如何決定數字可不可信。

當電腦說「這個托架安全」,它到底算了什麼?

一位實習工程師在 CAD 軟體裡畫好一個鋁合金托架(bracket),按下「結構分析」按鈕,幾秒後螢幕跳出一片漂亮的彩色雲圖(contour plot):藍色代表低應力、紅色代表高應力,旁邊標著「最大 von Mises 應力 = 142 MPa,安全係數 1.8」。資深工程師走過來看了一眼,只問了三個問題:「你的網格(mesh)多細?邊界條件(boundary condition)怎麼設的?那個紅色尖點是真的,還是奇異點(singularity)?」實習生答不上來。

這就是電腦輔助設計(Computer-Aided Design, CAD)與電腦輔助工程(Computer-Aided Engineering, CAE)的核心張力:軟體會給你一個精確到小數點後三位的數字,但這個數字是否可信,完全取決於使用者對背後物理與數值方法的理解。本文從 CAD 的幾何表示出發,走進 CAE 的主力——有限元素法(Finite Element Method, FEM),看清楚電腦在那幾秒鐘裡到底解了什麼方程式,又有哪些地方會騙你。

CAD/CAE概念示意圖

CAD:把形狀變成電腦能算的數學

CAD 不只是「用電腦畫圖」。現代 CAD 的核心是參數化實體建模(parametric solid modeling)——形狀不是一堆線段,而是一組帶有約束(constraint)與尺寸參數的數學物件。當你把孔徑從 $10\ \text{mm}$ 改成 $12\ \text{mm}$,整個特徵樹(feature tree)會自動重算,這正是「參數化」的威力。

幾何的數學基礎是自由曲線與曲面。最廣泛使用的是 NURBS(Non-Uniform Rational B-Spline,非均勻有理 B 樣條)。一條 NURBS 曲線由控制點(control points)$\mathbf{P}_i$、權重 $w_i$ 與基底函數 $N_{i,p}(u)$ 定義:

$$\mathbf{C}(u) = \frac{\sum_{i=0}^{n} N_{i,p}(u)\, w_i\, \mathbf{P}_i}{\sum_{i=0}^{n} N_{i,p}(u)\, w_i}$$

分母的有理(rational)形式讓 NURBS 能精確表示圓錐曲線(圓、橢圓、拋物線)——這是純多項式樣條做不到的。一個圓無法用有限次多項式精確表達,但加上權重後,NURBS 可以。這就是為什麼 CAD 核心(如 Parasolid、ACIS 幾何核心)幾乎都建在 NURBS 之上。

實體(solid)則用 B-rep(boundary representation,邊界表示) 描述:物體由「面(face)→ 邊(edge)→ 頂點(vertex)」的拓樸結構包圍,每個面掛一片 NURBS 曲面。理解這點很重要——CAE 分析前的「幾何清理(geometry cleanup)」之所以麻煩,常是因為 CAD 模型有微小的縫隙(gap)、重疊面或退化邊,破壞了 B-rep 的拓樸完整性,導致網格器(mesher)失敗。

CAE 與有限元素法:把連續體切成有限塊

真實零件是連續體(continuum),其內部的位移、應力滿足偏微分方程式(PDE)。以線彈性靜力學為例,平衡方程式是:

$$\nabla \cdot \boldsymbol{\sigma} + \mathbf{b} = \mathbf{0}$$

$\boldsymbol{\sigma}$ 是應力張量、$\mathbf{b}$ 是體積力。配上應變—位移關係 $\boldsymbol{\varepsilon} = \frac{1}{2}(\nabla\mathbf{u} + \nabla\mathbf{u}^\mathsf{T})$ 與虎克定律 $\boldsymbol{\sigma} = \mathbf{D}\,\boldsymbol{\varepsilon}$,理論上可解出每一點的位移 $\mathbf{u}$。問題是:除了極簡單的幾何,這組 PDE 沒有解析解。

有限元素法(FEM) 的核心思想是:把複雜幾何切成許多簡單的小塊(元素,element),在每個元素內用簡單的形函數(shape function)$N_i$ 內插位移:

$$\mathbf{u}(x,y,z) \approx \sum_{i} N_i(x,y,z)\, \mathbf{u}_i$$

$\mathbf{u}_i$ 是節點(node)上的未知位移。透過虛功原理(principle of virtual work)或加權殘值法(weighted residual),原本的微分方程被轉化成一個巨大的線性代數方程組

$$\mathbf{K}\,\mathbf{u} = \mathbf{F}$$

這是整個 CAE 結構分析的「主方程」。$\mathbf{K}$ 是全域剛度矩陣(global stiffness matrix)、$\mathbf{u}$ 是所有節點位移向量、$\mathbf{F}$ 是節點等效力向量。一個百萬自由度(degrees of freedom, DOF)的模型,$\mathbf{K}$ 就是百萬乘百萬的稀疏矩陣。電腦那「幾秒鐘」做的,就是組裝(assemble)$\mathbf{K}$ 並求解這個方程組,再從 $\mathbf{u}$ 回推應變與應力。

這裡有個深刻的物理對應:剛度矩陣 $\mathbf{K}$ 的能量意義來自最小位能原理(minimum potential energy)。系統的總位能為

$$\Pi = \frac{1}{2}\,\mathbf{u}^\mathsf{T}\mathbf{K}\,\mathbf{u} - \mathbf{u}^\mathsf{T}\mathbf{F}$$

FEM 解出的位移場,正是讓 $\Pi$ 取極小($\partial\Pi/\partial\mathbf{u} = \mathbf{0}$,即得 $\mathbf{K}\mathbf{u}=\mathbf{F}$)的那一組。電腦不是在「猜」應力,而是在能量泛函的所有可能位移場中,找出讓總位能最低的那一個——這跟單擺停在最低點、肥皂膜張成最小面積是同一個變分原理(variational principle)的不同面貌。

一維桿元素:看清剛度矩陣怎麼來

別把 FEM 當黑盒子。取最簡單的兩節點線性桿元素(bar element),長度 $L$、截面積 $A$、楊氏模數 $E$。它就像一根彈簧,等效彈簧常數 $k = EA/L$。其元素剛度矩陣是:

$$\mathbf{k}^e = \frac{EA}{L}\begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}$$

這個 $2\times 2$ 矩陣的物理意義一目了然:節點 1 移動 $u_1$、節點 2 移動 $u_2$,桿內力 $= \frac{EA}{L}(u_1 - u_2)$。把許多桿元素的 $\mathbf{k}^e$ 按共用節點「疊加」進全域矩陣 $\mathbf{K}$,就是組裝(assembly)。整個 FEM,從一根桿到一架飛機,數學骨架都是這套放大版。

網格收斂:那個紅點是真的嗎?

回到開頭資深工程師的提問。FEM 是近似解,網格愈細,理論上愈接近真實。但「愈細愈好」要付出代價——自由度隨網格密度暴增,求解時間與記憶體跟著爆炸。關鍵問題是:我的網格夠細了嗎?

答案是做網格收斂分析(mesh convergence study):逐步加密網格,觀察關注量(如最大應力)是否趨於穩定。若把最大應力 $\sigma_{\max}$ 對元素特徵尺寸 $h$ 作圖,收斂時應該趨於水平。對 $p$ 階元素,誤差理論上隨 $h$ 縮小:

$$\| \sigma_{\text{exact}} - \sigma_h \| \le C\, h^{\,p}$$

線性元素($p=1$)的應力誤差約與 $h$ 成正比,二次元素($p=2$)則收斂得更快。實務判準是:當網格加密一倍、最大應力變化小於 5% 時,可視為收斂

但有一個致命陷阱——應力奇異點(stress singularity)。在數學上的尖角(再加載荷或約束)處,理論應力是無限大(回想機械設計中 $K_t \to \infty$ 的尖角)。在這種地方做收斂分析,網格愈細應力愈高、永不收斂,因為它逼近的是無窮大。開頭那個「紅色尖點」很可能就是奇異點假象:它不代表零件真的會在那裡壞,而代表 CAD 模型裡有個不該存在的數學尖角,工程師應該補上圓角(fillet)再重算。會不會分辨奇異點,是區分 CAE 使用者與 CAE 工程師的分水嶺。

邊界條件:垃圾進,垃圾出

FEM 解的是 $\mathbf{K}\mathbf{u} = \mathbf{F}$,而邊界條件(boundary conditions)決定了 $\mathbf{F}$ 與哪些 $\mathbf{u}$ 被固定。設錯邊界條件,再細的網格也救不回來。常見兩類:

  • 位移邊界(Dirichlet / essential):指定某些節點的位移,例如「這個面完全固定」$\mathbf{u} = \mathbf{0}$。
  • 力邊界(Neumann / natural):指定外力或壓力,例如「這個面承受 $2\ \text{MPa}$」。

最常見的錯誤是過度約束(over-constraint)。把一個本該自由受壓變形的零件整面「完全固定」,會人為製造出實際不存在的反作用力與虛假應力集中。真實的螺栓接合、軸承支撐都有局部柔性,理想化成「剛性固定」往往讓邊界附近的應力嚴重失真——這也是為什麼有經驗的分析師會說:「最重要的應力,往往不在你固定的地方算對。」聖維南原理(Saint-Venant's principle)告訴我們,邊界細節的影響會在離開約束區約一個特徵尺寸後衰減,所以關注區應盡量遠離理想化的邊界。

另一個常被忽略的細節是整體平衡(global equilibrium)。在純力邊界(沒有任何位移約束)的情況下,$\mathbf{K}$ 是奇異的(singular)——因為剛體運動(rigid body motion)對應的位移不產生任何應變能,方程組有無窮多解,求解器會直接報錯「剛度矩陣不正定」。物理意義很清楚:一個在太空中自由漂浮、只受一對作用力的零件,整體會加速移動,沒有靜態解。因此即使是慣性釋放(inertia relief)這類進階手法,也得先把六個剛體自由度(三平移、三旋轉)以某種方式約束掉。理解 $\mathbf{K}$ 何時奇異、為何奇異,往往比記住操作步驟更能幫你看懂軟體的錯誤訊息。

動態分析:當載荷隨時間變化

若載荷快速變動(撞擊、振動、地震),靜力假設失效,主方程要加上慣性與阻尼項,變成

$$\mathbf{M}\,\ddot{\mathbf{u}} + \mathbf{C}\,\dot{\mathbf{u}} + \mathbf{K}\,\mathbf{u} = \mathbf{F}(t)$$

$\mathbf{M}$ 是質量矩陣、$\mathbf{C}$ 是阻尼矩陣。最常做的是模態分析(modal analysis):求無阻尼自由振動的特徵值問題 $(\mathbf{K} - \omega^2 \mathbf{M})\boldsymbol{\phi} = \mathbf{0}$,解出的 $\omega_i$ 是固有頻率(natural frequency)、$\boldsymbol{\phi}_i$ 是振型(mode shape)。工程師最怕的就是外力頻率撞上某個 $\omega_i$ 造成共振(resonance)——這跟物理裡的彈簧—質量系統 $\omega = \sqrt{k/m}$ 是同一回事,只是 FEM 把它推廣到百萬自由度。

看一個例子

設計一根懸臂托架(cantilever bracket),可簡化為一端固定的矩形截面懸臂梁:長 $L = 200\ \text{mm}$、寬 $b = 20\ \text{mm}$、高 $h = 10\ \text{mm}$,自由端承受向下集中力 $P = 500\ \text{N}$,材料為鋁合金 $E = 70\ \text{GPa}$。我們先用解析公式手算,再說明如何用它驗證 FEM 結果。

第 1 步:截面慣性矩

$$I = \frac{b\,h^3}{12} = \frac{0.020 \times (0.010)^3}{12} = 1.667\times 10^{-9}\ \text{m}^4$$

第 2 步:固定端最大彎曲應力

固定端彎矩 $M = P L = 500 \times 0.200 = 100\ \text{N·m}$,最大應力在表面($c = h/2 = 5\ \text{mm}$):

$$\sigma_{\max} = \frac{M c}{I} = \frac{100 \times 0.005}{1.667\times10^{-9}} \approx 300\ \text{MPa}$$

第 3 步:自由端最大撓度

$$\delta_{\max} = \frac{P L^3}{3 E I} = \frac{500 \times (0.200)^3}{3 \times 70\times10^9 \times 1.667\times10^{-9}} \approx 0.0114\ \text{m} = 11.4\ \text{mm}$$

第 4 步:用手算驗證 FEM

現在把同一個托架丟進 CAE 軟體。若 FEM 算出自由端撓度約 $11\sim 12\ \text{mm}$、固定端應力約 $300\ \text{MPa}$,就與梁理論(beam theory)吻合,代表網格與邊界條件設定合理。但 FEM 通常會在固定端的內角報出比 $300\ \text{MPa}$ 高得多的值——若那裡是尖角,那就是奇異點,加密網格只會讓它衝更高;若設計上有圓角,FEM 反而能算出梁理論給不出的真實局部峰值。

這個對照展示了 CAE 的正確用法:簡單問題先用解析解(封閉公式)抓量級,再用 FEM 處理解析解辦不到的複雜幾何。永遠不要把沒做過 sanity check 的 FEM 數字直接拿去簽核。

重點回顧

  1. CAD 的核心是參數化幾何:NURBS 的有理形式能精確表示圓與圓錐曲線,B-rep 用「面—邊—頂點」拓樸描述實體;分析前的幾何清理就是在修補拓樸缺陷。
  2. CAE/FEM 把連續體 PDE 變成 $\mathbf{K}\mathbf{u}=\mathbf{F}$:透過形函數內插與最小位能原理,電腦求解巨大稀疏線性方程組,再回推應力。
  3. 必做網格收斂分析:誤差隨元素尺寸 $h^p$ 縮小,加密一倍應力變化 < 5% 才算收斂。
  4. 小心應力奇異點:數學尖角處應力永不收斂、趨於無限大,那是假象不是失效預測,要補圓角重算。
  5. 邊界條件決定成敗:過度約束會製造虛假應力,理想化的固定面附近數值不可盡信(聖維南原理);務必用解析解先驗證 FEM。

深入探討(研究所視角)

本文聚焦線彈性靜力學,但真實 CAE 的疆界遠不止於此。一旦問題進入非線性(nonlinearity),$\mathbf{K}\mathbf{u}=\mathbf{F}$ 的優雅就消失了。非線性主要來自三類:幾何非線性(大變形,應變—位移關係不再線性,如薄板挫曲)、材料非線性(塑性、超彈性橡膠,$\mathbf{D}$ 隨應變改變)與接觸非線性(接觸面積與壓力互相耦合,邊界條件本身是未知)。此時 $\mathbf{K}$ 變成位移的函數 $\mathbf{K}(\mathbf{u})$,必須用 Newton–Raphson 迭代逐步逼近,每一步都重新組裝切線剛度矩陣(tangent stiffness matrix):

$$\mathbf{K}_T\,\Delta\mathbf{u} = \mathbf{F}_{\text{ext}} - \mathbf{F}_{\text{int}}(\mathbf{u})$$

右側是外力與內力的殘差(residual),迭代直到殘差趨近於零。這也是為什麼非線性分析常常「不收斂」——收斂與否取決於初始猜測、載荷步大小與切線矩陣的良態性。

CAE 也遠不只結構。計算流體力學(Computational Fluid Dynamics, CFD) 解的是 Navier–Stokes 方程式,其非線性對流項 $(\mathbf{v}\cdot\nabla)\mathbf{v}$ 與雷諾數(Reynolds number) $Re = \rho v L/\mu$ 主宰的紊流(turbulence),讓 CFD 比結構 FEM 更難收斂,且高度依賴紊流模型(如 $k$–$\varepsilon$、LES)的選擇。多物理場耦合(multiphysics)——熱—結構、流—固耦合(FSI)、電磁—熱——則是當代 CAE 的主戰場。

值得關注的前沿還有兩個方向。其一是 等幾何分析(IsoGeometric Analysis, IGA):傳統 FEM 把 CAD 的 NURBS 幾何「降級」成多項式網格,引入幾何離散誤差;IGA 直接用 NURBS 基底函數同時當作幾何與解的形函數,讓 CAD 與 CAE 共用同一套數學表示,消除網格生成這個最耗人力的瓶頸。其二是拓樸最佳化(topology optimization)結合 CAE 與增材製造(additive manufacturing):以材料分布為設計變數,在體積約束下最小化柔度(compliance)

$$\min_{\rho}\ \mathbf{u}^\mathsf{T}\mathbf{K}(\rho)\,\mathbf{u} \quad \text{s.t.}\ \int \rho\, dV \le V_0,\ \ 0\le\rho\le 1$$

電腦會「長」出有機、像骨骼般的輕量結構,這些形狀傳統機械加工做不出來,卻能被 3D 列印實現。CAD/CAE 與 AI 代理模型(surrogate model)、生成式設計(generative design)的結合,正在把工程師的角色從「畫圖與驗算」推向「定義問題與判讀結果」——而判讀的能力,仍然根植於本文反覆強調的:理解電腦那幾秒鐘到底算了什麼。

AI 共讀助教正在陪你讀:當電腦說「這個托架安全」,它到底算了什麼?
嗨!我是這篇文章的共讀助教,只根據〈當電腦說「這個托架安全」,它到底算了什麼?〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。