svg大小自适应_网格自适应的 2 种方法——实现更高效的计算
生活随笔
收集整理的這篇文章主要介紹了
svg大小自适应_网格自适应的 2 种方法——实现更高效的计算
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
網(wǎng)格自適應(yīng)的目標(biāo)是:修正網(wǎng)格以更有效地解決問題。通常,我們希望使用盡可能少的單元來獲得精確的解;并希望在不太重要的區(qū)域使用較粗糙的網(wǎng)格,而在感興趣的區(qū)域使用較精細(xì)的網(wǎng)格。有時(shí),我們甚至可能會(huì)考慮各向異性單元。從 5.4 版本開始, COMSOL 軟件內(nèi)置了增強(qiáng)工具以適應(yīng)網(wǎng)格的變化。今天,讓我們來看看在 COMSOL 軟件中,如何使用網(wǎng)格自適應(yīng)方法實(shí)現(xiàn)更高效的計(jì)算。
確定所需網(wǎng)格單元的大小
為了調(diào)整網(wǎng)格,我們必須知道實(shí)際所需的網(wǎng)格單元大小。但是,在實(shí)際工作中,需要進(jìn)行大量的研究才能找到合適的尺寸。在 COMSOL Multiphysics 中,我們可以在研究中使用?自適應(yīng)和誤差估計(jì)?功能(用于穩(wěn)態(tài)和特征值問題),基于內(nèi)置誤差估計(jì)自動(dòng)調(diào)整網(wǎng)格。在 COMSOL 軟件中可以靈活地進(jìn)行網(wǎng)格自適應(yīng),而不只是局限于內(nèi)置誤差估計(jì)。比如,我們可以先在粗網(wǎng)格上求解一個(gè)較簡(jiǎn)單的問題,然后基于該解通過計(jì)算的表達(dá)式來控制一個(gè)較難問題的單元尺寸。另外,還可以使用導(dǎo)入的插值函數(shù)或任何函數(shù)。本文不涉及這方面內(nèi)容,而是假設(shè)我們已經(jīng)隱式或顯式地知道所需的單元大小是 x,y 和(在 3D 中)z 的函數(shù)。這意味著網(wǎng)格單元邊長(zhǎng)由該邊中點(diǎn)坐標(biāo)的函數(shù)表達(dá)式確定。通常,不可能完全滿足此要求,即使是一個(gè)三角形也需要滿足三角形不等式。但是,請(qǐng)記住:尺寸表達(dá)式表示空間中每個(gè)點(diǎn)上所需的單元邊長(zhǎng)。根據(jù)尺寸大小函數(shù)適應(yīng)網(wǎng)格的 2 種方法
在 COMSOL Multiphysics 中,從?網(wǎng)格?節(jié)點(diǎn)開始工作時(shí),有 2 種本質(zhì)上不同的方法來構(gòu)建適應(yīng)尺寸大小函數(shù)的網(wǎng)格。第一種方法,我們可以在網(wǎng)格劃分序列中使用大小表達(dá)式?屬性來改變生成網(wǎng)格的大小。如果我們使用研究里的網(wǎng)格自適應(yīng),則相當(dāng)于選擇了?重建網(wǎng)格?選項(xiàng),其中的自由網(wǎng)格生成器(自由三角形網(wǎng)格,自由四邊形網(wǎng)格和自由四面體網(wǎng)格)會(huì)考慮這個(gè)尺寸大小。另一方面,結(jié)構(gòu)化方法(例如映射?和掃掠,和某種程度上的邊界層)忽略了大小表達(dá)式屬性(根據(jù)定義,結(jié)構(gòu)化網(wǎng)格不能遵循大小可變的字段)。簡(jiǎn)單來說,就是如果我們構(gòu)建的是結(jié)構(gòu)化網(wǎng)格,則可能無法使用此方法。另一種方法是使用?自適應(yīng)?操作。此操作通過單元細(xì)化和粗化修改現(xiàn)有的網(wǎng)格。我們可以在具有任何單元類型的網(wǎng)格上以及在導(dǎo)入的網(wǎng)格上使用自適應(yīng)操作。這是一種更強(qiáng)大的方法,并且能夠更好地遵循指定的大小表達(dá)式。但是,結(jié)果通常不如從頭開始生成的網(wǎng)格平滑。下面,我們將詳細(xì)討論這兩種方法,看看結(jié)果有何不同。使用大小表達(dá)式屬性
如前所述,使用大小表達(dá)式屬性方法通常能獲得高質(zhì)量的網(wǎng)格。但是,如果它產(chǎn)生的單元質(zhì)量較差,則可能不遵守所需的大小(例如,進(jìn)行快速大小轉(zhuǎn)換時(shí))。有關(guān)網(wǎng)格質(zhì)量的討論,請(qǐng)閱讀 COMSOL 官網(wǎng)的博客文章:如何檢查 COMSOL Multiphysics? 中的網(wǎng)格。由于網(wǎng)格在每一次適應(yīng)時(shí)是從零開始構(gòu)建的,因此對(duì)于復(fù)雜的幾何形狀而言,此過程可能很耗時(shí)。使用大小表達(dá)式屬性對(duì)圓形幾何的三角形網(wǎng)格應(yīng)用一個(gè)表達(dá)式,結(jié)果具有高質(zhì)量的網(wǎng)格單元和平滑的尺寸過渡。如果我們具有已知的大小表達(dá)式(例如,全局插值函數(shù)),則在背景柵格上進(jìn)行計(jì)算通常會(huì)很方便(在上圖中的柵格基礎(chǔ)上計(jì)算)。我們需要確保柵格分辨率足夠高以捕獲大小表達(dá)式描述的所有特征。當(dāng)大小表達(dá)式取決于已知的空間變化量(例如材料)時(shí),我們可以使用初始表達(dá)式計(jì)算選項(xiàng)。之后,可以使用模型中的任何表達(dá)式。軟件將會(huì)在求解前計(jì)算表達(dá)式(對(duì)應(yīng)于獲取求解步驟的初始值命令,可用于研究步驟)。我們還可以指定某個(gè)研究步,因?yàn)橐恍┍磉_(dá)式的值取決于研究。最后,我們還可以在現(xiàn)有解上計(jì)算。表達(dá)式類型為錯(cuò)誤指示器?用于內(nèi)置錯(cuò)誤估計(jì),但我們也可以使用任何大小表達(dá)式——這可能依賴于現(xiàn)有的解。例如,我們可能想在應(yīng)力較大的地方細(xì)化網(wǎng)格。使用自適應(yīng)操作
另一種方法是基于現(xiàn)有的網(wǎng)格,對(duì)其進(jìn)行修改以匹配所需的大小。這就是自適應(yīng)?操作的作用。它適用于所有尺寸,也可作用于導(dǎo)入的網(wǎng)格。它的許多選項(xiàng)和輸入字段與大小表達(dá)式?屬性相同。該操作有三種適應(yīng)方法:最長(zhǎng)邊細(xì)化,常規(guī)細(xì)化?和通用修改。兩種細(xì)化方法是基于單元邊的二等分法,由于這些單元邊太長(zhǎng),保留了所有現(xiàn)有的網(wǎng)格頂點(diǎn),因此這些方法無法粗化網(wǎng)格。自 5.4 版本開始,COMSOL Multiphysics 軟件內(nèi)置了通用修改?方法。顧名思義,即是以非常通用的方式修改網(wǎng)格:- 單元可以細(xì)化
- 如果網(wǎng)格太細(xì),可以刪除頂點(diǎn)以粗化網(wǎng)格
- 單元可以修改,網(wǎng)格頂點(diǎn)可以移動(dòng),以提高網(wǎng)格質(zhì)量
支持所有單元類型
自適應(yīng)?操作可用于所有單元類型的網(wǎng)格,也可以作用于結(jié)構(gòu)化網(wǎng)格域(雖然,網(wǎng)格自適應(yīng)后通常不再是結(jié)構(gòu)化)。但是,當(dāng)在復(fù)雜單元(二維中的四邊形,三維中的六面體、棱柱、錐形)中使用此方法時(shí),我們必須要小心,因?yàn)榻Y(jié)果可能很差。下面,我們來看看在這種情況下單元尺寸大小是如何過渡的。在二維模型中,三角形插入到四邊形網(wǎng)格中。上:圓形幾何中默認(rèn)的自由四邊形網(wǎng)格。以最大角度質(zhì)量對(duì)單元進(jìn)行著色。下:網(wǎng)格適應(yīng)為與上面相同的大小表達(dá)式后的結(jié)果。請(qǐng)注意在尺寸過渡區(qū)域中三角形是如何使用的。在三維結(jié)構(gòu)中,通常將四面體和錐體用于尺寸過渡區(qū)域,在合適時(shí)也可以插入其他單元類型。下圖顯示了具有粗糙六面體網(wǎng)格的圓柱體,該圓柱體使用?0.02 + z*z 表達(dá)式進(jìn)行適應(yīng)。適應(yīng)前后的圓柱體網(wǎng)格。邊界層網(wǎng)格的網(wǎng)格自適應(yīng)
在以上所有示例中,指定的尺寸大小函數(shù)代表各向同性單元的大小;也就是說,一個(gè)理想形狀單元的所有邊都具有(大約)相同的長(zhǎng)度。如果我們需要適應(yīng)的網(wǎng)格是各向異性的(例如,沿邊界伸展的邊界層網(wǎng)格),則自適應(yīng)會(huì)朝著各向同性方向修改網(wǎng)格。邊界層單元甚至可能被完全刪除!這不是我們想要的結(jié)果。一種解決方法是禁止粗化,則邊界層會(huì)被保留。上:以原點(diǎn)為中心的矩形,含邊界層網(wǎng)格。中:適應(yīng)方法為通用修改, 大小表達(dá)式?0.04 + x*x。由于粗化操作,邊界層被刪除。下:禁用粗化操作的適應(yīng)結(jié)果,邊界層被保留。構(gòu)建各向異性網(wǎng)格
自適應(yīng)?操作也可用于各向異性適應(yīng)。各向異性網(wǎng)格單元是理想單元沿某個(gè)方向拉伸的單元。這種網(wǎng)格在 CFD 計(jì)算中很常見,一個(gè)典型的例子就是邊界層網(wǎng)格。如果要進(jìn)行各向異性適應(yīng),首先,選擇?各向異性度量?作為表達(dá)式類型。然后,我們需要指定 2×2(二維)或 3×3(三維)對(duì)稱矩陣。此操作意味著:代表單元邊的向量在該點(diǎn)被矩陣轉(zhuǎn)換,并測(cè)量了轉(zhuǎn)換向量的長(zhǎng)度。如果長(zhǎng)度小于 1.0,則認(rèn)為它太短。如果長(zhǎng)度大于 1.0,則認(rèn)為它太長(zhǎng)。該措施用于控制適應(yīng)。下圖顯示了如何使用此方法。使用三角形單元剖分網(wǎng)格控制域。應(yīng)用各向異性適應(yīng)方法。此時(shí),度量由常數(shù)矩陣?指定。通過自由三角形網(wǎng)格對(duì)周圍的區(qū)域進(jìn)行網(wǎng)格剖分將網(wǎng)格控制域合并到較大的域中。結(jié)語
綜上,我們展示了如何使用 COMSOL Multiphysics 中的網(wǎng)格自適應(yīng)工具來創(chuàng)建適合特定目的的網(wǎng)格。一種方法是選擇網(wǎng)格?節(jié)點(diǎn)中的大小表達(dá)式?屬性,用于控制生成三角形和四面體網(wǎng)格的大小,通常可以得到平滑且質(zhì)量較高的網(wǎng)格。另一個(gè)方法是使用自適應(yīng)操作,該操作會(huì)修改現(xiàn)有的網(wǎng)格。網(wǎng)格自適應(yīng)是一個(gè)功能強(qiáng)大的工具,可以修改任何類型的網(wǎng)格也能生成各向異性網(wǎng)格單元。推薦閱讀
COMSOL 免費(fèi)開放 15 個(gè)專題培訓(xùn)視頻資料如何劃分和細(xì)化有限元網(wǎng)格?網(wǎng)格剖分中不同尺寸設(shè)置的最佳方式如何在聲學(xué)仿真中根據(jù)頻帶自動(dòng)劃分網(wǎng)格使用 COMSOL 變形網(wǎng)格接口實(shí)現(xiàn)網(wǎng)格位移本文內(nèi)容來自 COMSOL 博客,點(diǎn)擊“”,延伸文章。
總結(jié)
以上是生活随笔為你收集整理的svg大小自适应_网格自适应的 2 种方法——实现更高效的计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python图像锐化_opencv实现图
- 下一篇: 如何判断离散数组 是递增趋势_如何用切线