999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Calfem及擴展庫的有限元課程教學方法

2024-12-15 00:00:00劉巖宋克志姜廣輝
教育教學論壇 2024年43期

[摘 要] 提出了基于開源程序Calfem的有限元教學方法,以解決教學中出現的理論、編程、通用軟件應用三方面能力培養脫節的問題。Calfem簡潔易學,但目前的教學實踐仍存在不足。通過二次開發開源擴展函數庫CalfemPlus,擴充了大量單元和功能函數,使程序編寫符合通用軟件輸入文件邏輯。列舉了一則例題的編程實例,并介紹了課堂課后的教學經驗,說明了Calfem及擴展庫能聯系數學理論與通用軟件,同時降低了程序的理解和編寫難度,提高了學生編程解決問題的能力。

[關鍵詞] 有限單元法;理論教學;編程;通用軟件;Calfem

[基金項目] 2020年度教育部第二批新工科研究與實踐項目“智能建造背景下地方高校土木工程專業課程體系改革與實踐”(E-TMJZSLHY20202133);2019年度山東省專業學位研究生教學案例庫建設項目“‘地下工程設計與施工’案例庫”(SDYAL19071)

[作者簡介] 劉 巖(1982—),男,山東煙臺人,工學博士,魯東大學土木工程學院副教授,主要從事應用與計算力學研究。

[中圖分類號] O242.21 [文獻標識碼] A [文章編號] 1674-9324(2024)43-0153-04 [收稿日期] 2023-07-06

“有限單元法”課程是面向土木、機械、交通類等專業開設的工科基礎課程,介紹了近半個世紀力學學科的重要成果——有限元這一有力的工具,以解決各種復雜的工程力學問題。一般來說,其初等課程對應線性理論部分,適用于低年級研究生或者高年級本科生,而高級課程包含了非線性理論。本文面向初等課程的教學進行研究。筆者認為,“有限單元法”課程主要培養人才的三方面能力:數值求解各類場問題的理論能力、工程軟件應用能力和編程能力。然而,在教學過程中,往往遇到單方面強調某一能力,或者三方面孤立無法形成整體培養的問題。對此,本文闡述了如何基于現有的有限元教學程序庫Calfem及筆者開發的擴展庫CalfemPlus將三方面能力培養相協調,使學生在有限元的學習中更好地學以致用。

一、有限元教學中的問題

基于教學實踐,筆者總結了有限元教學中易出現的三種問題。

1.與數學課同質,即只強調數學原理教學。有限元涉及較多的數學理論,對于編寫軟件意義較大。但大部分工科開設本課程的目的是服務工程應用,即利用軟件合理地建模。只教授純數學理論無法提高工科學生的接受程度,其與工程實踐缺少聯系。

2.與“軟件培訓”課同質,即直接訓練通用軟件的界面操作。通用軟件的學習對于有限元工程應用是必要的,但僅培訓軟件界面操作,一些學生不能理解計算背后的邏輯,難以評價結果,能處理的問題具有局限性。

3.對于非計算機專業“編程難”的問題。程序是有限元方法實現的核心,很難想象沒有編程訓練的有限元課程。而大部分有限元代碼龐雜,學習曲線高,不利于少課時教學。

學習數學原理、應用軟件與編程訓練三者在有限元教學中不可或缺。但對于三四十左右學時的少課時情況,三者應力求精練。有限元入門課要讓學生初步清楚力學原理如何用程序表達、如何建模,以及通用軟件實現的大致路徑。本文重點闡述基于易學的有限元庫Calfem及筆者在此基礎上開發的擴展庫的教學法,以實現編程、數學理論與通用軟件的融合。目前,有限元教學資料或開源程序眾多,這里僅列舉一二,包括:《有限元基礎教程》提供了簡明的代碼[1],能部分解決前文提出的問題。但其每種單元擁有獨立的組裝及后處理函數,缺乏統一性;弱化了單元節點的連接關系,較難與通用軟件的輸入文件對應。《有限單元法》附錄程序FEATP[2],由Fortran77編寫,程序較長,只能解決平面問題。《工程中的有限元方法》的配套程序由各種流行語言編寫[3]39,但仍然涉及底層,如格式化輸入等。Zenkiewicz的教材配套的經典代碼Feappv體量稍大[4],學習周期長。筆者認為教學程序Calfem(www.byggmek.lth.se/english/calfem/)適合工科的少學時有限元課程。該程序是由瑞典Lund大學結構力學系開發,全稱“Computer Aided Learning of the Finite Element Method”,國外出版了應用該代碼進行教學的教材[5],國內外也有基于該程序包的工程應用研究[6-8]。本文面向該軟件較為成熟的3.4版本進行撰寫。

Calfem的優點包括:(1)易讀易寫易學。Calfem使用Matlab/Octave語言編寫,邏輯清晰簡單,使學生將精力放在力學建模上。使用手冊十分詳盡,帶有例程,方便自學。(2)提供了多樣的單元和功能函數。如桿梁單元、平面實體/傳熱單元、低階空間單元以及少量非線性單元等。提供組裝總剛函數、提取單元位移函數、Newmark法函數等。(3)結果可見。每一步結果可立即顯示出來,單元形成的剛度陣直觀可見。(4)擴展性好。該程序包不僅可作為教學類程序,還可以在此軟件基礎上做工程應用或者研究。但對于筆者的教學狀況,Calfem不能直接應用。如其采用單元自由度連接關系表,而不是單元節點連接關系表;缺少一些單元;缺少處理多點相關約束求解函數等功能;缺乏與教材配套的例題程序。同時,希望程序的編寫邏輯與通用軟件的輸入信息邏輯(如Ansys或Abaqus的命令流)具有可比擬性,在此基礎上,學生可以理解通用軟件的工作原理。本文將針對這些問題提出解決方案,并闡述在教學中的實施情況。

二、解決方案

本方案的目的是通過“輕度”編程訓練實現兩個對應,即將有限元公式與程序代碼對應起來,將程序代碼與通用軟件應用對應起來,提高學生在理論層面對工程問題的控制力,進而達成有限元課程的目標:學生能夠應用理論編寫程序處理實際問題;提高對通用軟件的理解;能正確處理一些建模中出現的問題。針對以上目標,筆者對Calfem函數庫進行了擴充,并將解決方案分解:(1)開發提取單元信息(ExtractElInfo)模塊函數。該模塊的功能為:通過輸入單元與節點的連接關系表和單元類型,自動產生單元與自由度的連接關系表以及節點與自由度的連接關系表,從而使程序能夠與教材中例題的基本輸入信息對應,也使程序與通用軟件的輸入邏輯可比。(2)開發一系列Calfem中缺少而教材中涉及的單元。(3)開發罰函數法處理多點相關約束和形成單元面力荷載等工具函數。(4)開發一系列與教材例題和習題配套的程序。最終,形成了擴展包CalfemPlus。

三、基于CalfemPlus的編程教學實例一則

四桿桁架問題描述見教材的例題4.1[3]95。該例題的計算程序見圖1(a)。

程序流程為:首先,給出節點坐標矩陣Coord(第一列為節點號,后接坐標),單元和節點的連接關系矩陣El(第一列為單元號,后接節點號)。然后,設定單元類型為平面桁架單元“bar2e”,進而調用ExtractElInfo函數。接著初始化總體剛度陣和總體荷載列陣,分別在3節點和2節點施加向下的25 000的力和向右的20 000的力。在設定單元和材料屬性之后,生成單元剛度陣并組裝。隨后,在1、4節點的水平、豎直方向以及2節點的豎直方向設定固定邊界條件,得到邊界條件矩陣bc,并采用消元法求解。最后,循環提取每個單元的位移向量,計算單元內力及應力。

ExtractElInfo函數自動返回EDof、GDof以及Ex、Ey。EDof是程序的核心,剛度集成、單元位移的提取都依賴該矩陣。自動生成EDof大大簡化了Calfem的建模工作,也符合通用軟件的輸入文件的邏輯。GDof矩陣中的第i行的全部六個元素代表第i個節點沿整體笛卡爾系三個平動自由度以及三個轉動自由度的編號,如GDof(3,2)代表3號節點y向平動自由度編號。GDof矩陣使得施加力的邊界條件和位移邊界條件變得很方便,無須尋找特定的自由度編號,如圖1(a)中程序的第25、38行。

本例對應的Ansys命令流見圖1(b)。與圖1(a)中程序對比可見,二者提供信息和邏輯一致,如都給出了節點坐標表、單元和節點的連接關系表,并給出了單元類型和材料屬性。二者的區別是程序顯式的組裝總剛及總荷載列陣,并利用消元法求解了問題,而通用軟件則隱藏了這一過程。

四、教學實施情況

1.課堂教學。筆者將Calfem與擴展庫用于若干個學期有限元基礎課程的實踐教學,并不斷改進。針對課堂上講解的例題和部分練習題編寫了基于有限元教材[3]59的CalfemPlus算例程序三十余個。有限元編程的課堂教學分為以下兩部分:一是Calfem及擴展庫教學。在課堂教學中,并不單獨介紹Calfem的使用,而是將其融入教學的每一章節中,在理論與編程實踐中穿插講授。課堂上重點介紹Calfem一些基本函數和單元,如組裝總剛、單元位移列陣、消元法求解等函數,還包括擴展模塊的單元信息提取、罰函數求解函數等。單元函數則跟隨教材章節,根據需要依次介紹單元。二是例程及通用軟件應用教學。將部分例題同時用Calfem和通用軟件實現,程序和通用軟件中的單元設置、計算步驟與教材的手工計算保持一致。在講完手算算例之后,演示對應的程序,將計算結果利用“走程序”的方法,結合交互性語言的特點,將重點代碼步的結果展示給學生,如單元自由度連接關系表、單元和整體的剛度陣、荷載列陣、求解結果、支反力、單元位移列向量、單元應力等結果,讓學生理解有限元標準程序結構和每一行代碼的含義。通過一步一步執行形成單元剛度與組裝總剛度陣的過程,學生可直接觀察各種單元剛度陣的形成及特點。在展示程序后,介紹Ansys命令流或者圖形界面交互操作建模方式。通過程序和應用通用軟件對比,使學生在學習通用軟件的同時,了解其背后的邏輯。

2.學生實踐。有限元初級課程的實踐環節包括2~4個學時的實驗課和課后作業。實驗課由上機編程實驗和通用軟件的基礎實驗兩部分組成。上機編程實驗的必做部分為:利用平面桁架單元計算簡單桁架橋,利用平面梁單元進行多層平面剛架結構的有限元分析,利用Ansys經典界面建模計算加以驗證。其他可選題目包括利用平面單元計算小孔應力集中問題、利用傳熱單元處理壩下的滲流問題等。

課后作業包括手算習題、利用CalfemPlus編寫程序以及采用通用軟件完成。部分習題在手算的同時,讓學生編寫程序或者采用通用軟件計算,并對比結果,從而加深學生對通用軟件—程序—數學原理的理解。作業還可設置一些不符合位移法求解力學問題的“標準”流程問題,比如利用最小二乘法求“平滑”應力、編寫程序進行映射網格劃分等,以加深學生對離散、插值、變分等概念的理解。

結語

為解決有限元教學中理論、編程、軟件應用三方面能力相脫節的問題,本文介紹了程序庫CalfemPlus、典型應用實例和教學實施情況。提出的解決方案達到了以下目的:(1)以編程為媒介,聯系了數學與通用軟件,使學生能夠以有限元數學理論來指導使用通用軟件,初步解決了有限元教學中理論與軟件應用脫節的問題。(2)通過開發的擴展程序庫,使有限元程序易于閱讀和編寫,拓展了學生的編程能力。

參考文獻

[1]曾攀.有限元基礎教程[M].北京:高等教育出版社,2009:41-52.

[2]王勖成.有限單元法[M].北京:清華大學出版社,2003:711-776.

[3]錢德拉佩特拉,貝萊岡度.工程中的有限元方法[M].4版.曾攀,雷麗萍,譯.北京:機械工業出版社,2014:39-40.

[4]ZIENKIEWICZ OC, TAYLOR RL, ZHU JZ. The finite element method: its basis and fundamentals, 6th ed [M]. Oxford: Elsevier, 2005:664-667.

[5]PAVLOU DG. Essentials of the finite element method: for mechanical and structural engineers [M]. London: Elsevier Academic Press, 2015:7-16.

[6]楊德華,ZAGO L,李徽,等.新型3-CPS/RPPS機構的有限元建模及模態分析[J].機械設計與制造,2013(10):93-96.

[7]DANIELSSON H, GUSTAFSSON PJ. Fracture analysis of perpendicular to grain loaded dowel-type connections using a 3D cohesive zone model[J]. Wood Material Science amp; Engineering,2016,11(5):261-273.

[8]GIRHAMMAR UA, GUSTAFSSON PJ, K?LLSNER B. Modeling of shear walls using finite shear connector elements based on continuum plasticity[J]. Frontiers of Structural and Civil Engineering, 2017,11(2):143-157.

Teaching Method Based on Calfem and its Extended Library for the Finite Element Method Course

LIU Yana, SONG Ke-zhia, b, JIANG Guang-huia

(a. School of Civil Engineering, b. Center of Marine Civil Engineering Technology, Ludong University,

Yantai, Shandong 264025, China)

Abstract: In this paper, the finite element teaching method based on the open-source program Calfem is proposed to solve the problem of mismatching among the theory teaching, programming, and software application in teaching. Calfem is simple and easy to learn, but it is still inadequate for current teaching practice. Through the secondary development of open-source extension function library CalfemPlus, many elements and functions are expanded, so that the codes of the program conform to the logic of general-purpose software input files. One programming example is listed, and the teaching experiences in class and after class are introduced. It shows that Calfem and the extended library can connect mathematical theories with software, reduce the difficulty of program understanding and coding, and enhance students’ programming ability to solve problems.

Key words: finite element method; theory teaching; programming; general-purpose software; Calfem

主站蜘蛛池模板: 国产香蕉国产精品偷在线观看| A级毛片高清免费视频就| 色成人综合| 97国产精品视频自在拍| 五月婷婷亚洲综合| 国产原创第一页在线观看| 永久在线精品免费视频观看| 真人免费一级毛片一区二区| 国产凹凸视频在线观看| 成人午夜视频在线| 91在线精品麻豆欧美在线| 久久永久免费人妻精品| 亚洲最大福利视频网| 欧美激情网址| 性色一区| 国产原创自拍不卡第一页| 国产在线精彩视频论坛| 国产亚洲精久久久久久无码AV| 美女裸体18禁网站| 国产三级国产精品国产普男人| 日韩无码视频播放| 亚洲一区二区日韩欧美gif| 亚洲无线一二三四区男男| 国产欧美综合在线观看第七页| 69免费在线视频| 亚洲成av人无码综合在线观看| 国产第二十一页| 国产制服丝袜无码视频| 在线精品自拍| 亚洲最大综合网| 亚洲香蕉在线| 亚洲欧美不卡视频| 国产精品视频3p| 免费国产高清精品一区在线| 欧美另类图片视频无弹跳第一页 | 国产福利免费视频| 亚洲不卡影院| 亚洲国产精品一区二区第一页免 | 中文字幕人妻av一区二区| 国产国产人免费视频成18| 91无码视频在线观看| a级毛片在线免费| 亚洲精品视频网| 69av在线| 亚洲av成人无码网站在线观看| 夜夜高潮夜夜爽国产伦精品| 第一页亚洲| 亚洲综合婷婷激情| 欧美一道本| V一区无码内射国产| 亚洲中文字幕在线一区播放| 亚洲色图另类| 成人福利一区二区视频在线| 亚洲手机在线| 欧美在线导航| 久久99国产精品成人欧美| 青青国产视频| 亚洲一区二区三区在线视频| 国产女人综合久久精品视| 色综合久久久久8天国| 国产人人射| 九九久久精品免费观看| 欧美亚洲综合免费精品高清在线观看| 精品一区二区三区水蜜桃| 国产成年无码AⅤ片在线| 久草视频精品| 波多野结衣中文字幕一区| 国产精品久久久久久影院| 三上悠亚精品二区在线观看| 精品福利视频网| 欧美一级特黄aaaaaa在线看片| 玖玖精品在线| www中文字幕在线观看| 伊人久久久久久久久久| 国产真实乱人视频| 亚洲人成网站色7777| 午夜日本永久乱码免费播放片| 亚洲区一区| 午夜毛片免费看| 国产91高清视频| 久草国产在线观看| 成人字幕网视频在线观看|