COMSOL(1)尋找最小曲面

 摘要:本文意在通過COMSOL Multiphysics 5.2 軟件的Coefficient Form PDE模塊來實現給定邊界的最小曲面尋找。

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

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


    具體案例:如上式,即在單位圓區域內,以u=u(x,y)=x*x,爲邊界,求其張成的最小面積的曲面。採用Euler-Lagrange方程,可將此問題化爲求解


(1)

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

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


    特別要注意的是上圖右邊的Review Physics Interface部分的內容,標示了因變量的信息,在這個模塊中默認單個因變量名稱是u,當存在多個因變量時則爲u1,u2,....當然你也可以在Dependent variable欄輸入自己習慣的因變量名字,這個是後面在方程輸入中要注意的,變量名稱此處就已定義。

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


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


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


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

     

     然後點擊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在求解問題時採用的有限元方法。點擊Model Builder下的Mesh,在setting窗口下的element size的下拉中選擇fine細化網格,再點擊Builder all對其網格化。


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


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


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


     可以看到限制在單位圓區域,以x的平方爲邊界的面積最小的曲面是馬鞍面。這個例子比較清晰簡單,適合用來初步瞭解怎麼使用COMSOL的PDE模塊。​

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章