天天看點

COMSOL(1)尋找最小曲面

 摘要:本文意在通過COMSOL Multiphysics 5.2 軟體的Coefficient Form PDE子產品來實作給定邊界的最小曲面尋找。

​  最近學習了《COMSOL Multiphysics 基本操作指南和常見問題解答》中的尋找最小曲面部分,個人覺得此案例非常适合學習PDE子產品。但是操作指南這本書是針對COMSOL3.5的,而現在COMSOL5.2a都已經出了,是以軟體的變動比較大。我參考指南摸索了好一會兒才摸出來的,具體是用COMSOL5.2實作的,寫出來跟大家分享一下。

    問題描述:給定一條空間曲線,求以此空間曲線為邊界的面積最小的曲面。

COMSOL(1)尋找最小曲面

    具體案例:如上式,即在機關圓區域内,以u=u(x,y)=x*x,為邊界,求其張成的最小面積的曲面。采用Euler-Lagrange方程,可将此問題化為求解

COMSOL(1)尋找最小曲面

(1)

      具體問題化簡,如何運用Euler-lagrange方程,我們在此不做贅述,我希望讀者能注重于軟體的求解部分,且假設就為利用PDE子產品求解上述方程,這也正是我寫這篇博文的目的所在。

     首先打開COMSOL Multiphysics5.2,選擇model wizard(模型向導)--2D來到實體場的選擇界面,選擇Mathematics--PDE interfaces--Coefficient Form PDE(c),然後選擇add添加系數型PDE場如下:

COMSOL(1)尋找最小曲面

    特别要注意的是上圖右邊的Review Physics Interface部分的内容,标示了因變量的資訊,在這個子產品中預設單個因變量名稱是u,當存在多個因變量時則為u1,u2,....當然你也可以在Dependent variable欄輸入自己習慣的因變量名字,這個是後面在方程輸入中要注意的,變量名稱此處就已定義。

    接着選擇study,由于在這個案例中,邊界不随着時間變化,是以我們選擇stationary,然後選擇down如圖。

COMSOL(1)尋找最小曲面

     下面點選Model builder下的根目錄(root),來到setting視窗,​找到unit system,下拉視窗選擇none。做這一步是為了防止後面變量使用時因為機關問題而報錯。(事實上,雖然會報錯但依然可以進行計算,個人隻是覺得warning看着不順眼而已。。。。)

COMSOL(1)尋找最小曲面

​    下面開始定義幾何,選擇菜單欄的Geometry--Primitives--Primitives--ellipse, 由于它的預設設定是中心在(0,0),半徑為1的圓,與此例暗合,因而不需改值,直接選擇Build Selected建構, 得到下圖。​

COMSOL(1)尋找最小曲面

​    然後進行邊界的設定,選擇菜單欄的Physics--Boundaries--Dirichlet Boundary Condition,來到狄利克雷邊界條件的settings視窗,找到Boundary section,下拉section選擇All boundaries,在r處輸入x*x,如下圖。

COMSOL(1)尋找最小曲面

     然後點選Model Builder下的Coefficient Form PDE(c)下的Coefficient Form PDE1,在Diffusion Coefficient部分輸入各系數:c=1/sqrt(1+ux*ux+uy*uy)​,a=0,f=0.至于為什麼這麼輸入,大家可以點選Equation節點,檢視方程的原型,結合我們此例的問題,對照(1)的方程便十厘清楚了。(這裡說明一下,在COMSOL中預設ux是因變量u對x的偏導數,uy同理。)

COMSOL(1)尋找最小曲面

   接下來是對其網格化,COMSOL在求解問題時采用的有限元方法。點選Model Builder下的Mesh,在setting視窗下的element size的下拉中選擇fine細化網格,再點選Builder all對其網格化。

COMSOL(1)尋找最小曲面

   接着進行求解的設定,選擇菜單欄中的study--solver--show default solver,然後展開Solver configuration,展開Solution1,點選Stationary Solver,在Settings視窗下的General中的Linearity選擇Nonlinear.

COMSOL(1)尋找最小曲面

下面就可以點選Compute求解了,計算得到下圖。

COMSOL(1)尋找最小曲面

​為了更好的顯示結果,我們需要對計算結果做一些後處理,找到Model Builder下的Result下的2D Plot Group 1展開,右鍵surface1選擇Height Expression,即可得到下圖:

COMSOL(1)尋找最小曲面

     可以看到限制在機關圓區域,以x的平方為邊界的面積最小的曲面是馬鞍面。這個例子比較清晰簡單,适合用來初步了解怎麼使用COMSOL的PDE子產品。​

繼續閱讀