
發布
注冊
/
登錄Gmsh的案例
Gmsh與Nastran
int main(int argc, char **argv){ gmsh::initialize(argc, argv);
gmsh::model::add("bdf-Nastran"); double lc = 1.0; gmsh::model::occ::addPoint(0, 0, 0,lc, 100); gmsh::model::occ::addPoint(20, 0, 0, lc,101); gmsh::model::occ::addPoint(20, 10, 0,lc, 102); gmsh::model::occ::addPoint(0, 10, 0, lc,103); gmsh::model::occ::addPoint(0, 0, 20, lc, 104); gmsh::model::occ::addPoint(0, 10, 20, lc, 105);
gmsh::model::occ::addLine(100, 101, 200); gmsh::model::occ::addLine(101, 102, 201);//此線段固定 gmsh::model::occ::addLine(102, 103, 202); gmsh::model::occ::addLine(103, 100, 203); gmsh::model::occ::addLine(103, 105, 204); gmsh::model::occ::addLine(105, 104, 205);//此線段加載荷 gmsh::model::occ::addLine(104, 100, 206);
gmsh::model::occ::addCurveLoop({200,201,202,203}, 300); gmsh::model::occ::addCurveLoop
展開 Gmsh劃分四邊形、六面體網格
參考:
Gmsh 文檔
Gmsh Source Code
文章來源:有限元仿真技術交流平臺
三維 voronoi 建模工具 neper 的實例和安裝
這次的命令就變得很長了:
neper -M -format inp -gmsh /root/gmsh-4.3.0-Linux64/bin/gmsh n100-id1.tess
“-M”代表執行“網格劃分”功能,“-format inp”代表生成 “.inp”后綴模型文件,“-gmsh”代表采用的網格劃分工具是 gmsh,“/root/gmsh-4.3.0-Linux64/bin/gmsh”代表網格劃分工具所在的路徑,“n100-id1.tess”是上一步形成的模型文件。
經過這樣的解釋,相信大家也不會覺得命令晦澀難懂了。
直觀感受 neper
在上面的命令中,沒有指定劃分網格的單元類型,默認采用的是四面體。執行下面的命令之后,就渲染出了 voronoi 模型的網格劃分效果圖。
命令:neper -V n100-id1.tess,n100-id1.msh -dataelsetcol id -print img
我們把劃分網格的命令增加一個參數:“-elttype hex”,代表采用六面體進行網格劃分。渲染后的效果見下圖。
生成的 .inp 文件
生成的 .inp 文件里面包含*Node *Element *Elset 關鍵字的信息。
neper 的安裝,使用 neper 最大的障礙
對 linux 系統不熟悉,阻礙了一部分人使用 neper,不懂得安裝 neper 讓大多數人用不了 neper。
下面做一個簡單介紹,如果想知道具體細節,還請聯系本人。
首先,準備 linux 系統,這是最簡單的一步。可以安裝虛擬機、如果是 win10 現在可以兼容類似原生系統的 linux 環境。后者優于前者,但這些方法都不是最好的。原因在于個人計算機性能有限,可能在使用 neper 的時候體驗更差了。
展開 [軟件速遞]Jameson教授團隊開發的高精度LES開源代碼HiFiLES
6 網格格式:neutral (.neu) 和Gmsh (.msh)。
7 LES:Sub-grid Scale Models: Smagorinsky, WALE, similarity, and combinations of these. Wall models: log-law, three-layer Breuer-Rodi.
8 并行:MPI和GPU
9 項目網站https://hifiles.stanford.edu
參考文獻:
M. López-Morales, A. Sheshadri, J. Bull, J. Crabill, T. D. Economon, D. E. Manosalvas, J. Romero, J. E. Watkins, D. Williams, F. Palacios, and A. Jameson, “Verification and Validation of HiFiLES: a High-Order LES unstructured solver on multi-GPU platforms,” AIAA Paper 2014-3168.
本文轉自流體中文網,有刪減,感謝原作者。原帖地址:
http://www.cfluid.com/forum.php?mod=viewthread&tid=142676&fromuid=128839
展開 
網格算法工程師招聘需求
任職資格:
1、計算機圖形學,力學,機械、數學等相關專業本科及以上學歷;拓撲(數學概念)
2、了解一種或多種網格剖分算法、優化方法以及質量檢查方法優先;
3、了解一種或多種開源網格引擎庫,如GMsh、CGAL、TetGen者優先;主要做仿真,游戲引擎。
4、1-3年,良好的C++編碼習慣及面向對象的編程思想;
5、具備良好的責任感、溝通能力及團隊協作精神,思維敏捷,踏實肯干,積極主動;
6、良好的學習、溝通與表達能力,良好的團隊協作精神與責任感,思維敏捷,踏實肯干,積極主動。
工作地點:深圳、上海、北京
聯系郵箱:lichangyan@yunbosoft.com
公司介紹:深圳云泊軟件技術有限公司于 2023 年 7 月 27 日成立,公司總部位于深圳市龍崗區坂田街道崗頭社區天安云谷產業園二期4棟4007 。公司聚焦于打造高品質面向工業制造領域的前后處理及網格引擎仿真軟件,涵蓋通用前后處理集成平臺、結構前處理軟件、流體力學前處理軟件、高 / 低頻電磁仿真軟件、通用網格剖分軟件等多類產品 ,矢志成為中國仿真產業先進的統一入口及可靠的底座平臺。其核心團隊在大規模、復雜工程項目研發管理方面經驗深厚,匯聚了 CAE 前后處理和網格剖分領域的頂尖人才,這些專家擁有豐富的理論研究、產品開發、工業應用及工程驗證經驗。
展開 CFD模擬軟件(X版)
http://gmsh.info/
SALOME
http://www.salome-platform.org/
TETGEN
http://wias-berlin.de/software/tetgen/
Triangle
http://www.cs.cmu.edu/~quake/triangle.html
TwinMesh
https://www.twinmesh.com/
后處理可視化軟件
COVISE
http://www.hlrs.de/covise/
DISLIN
http://www.mps.mpg.de/dislin/server.html
Gnuplot
http://www.gnuplot.info/
GRI
http://gri.sourceforge.net/
Mayavi
http://mayavi.sourceforge.net/
OpenDX
http://www.opendx.org/
VAPOR
https://www.vapor.ucar.edu/
Vigie
http://www-sop.inria.fr/sinus/Softs/vigie.html
Visit
https://wci.llnl.gov/simulation/computer-codes/visit
Visnow
https://visnow.icm.edu.pl/
vtk
https://www.vtk.org/
vtk.Net
http://vtkdotnet.sourceforge.net/
其他
Engauge Digitizer
展開 如何設計一個基于Web的有限元分析平臺
第五個是要實現幾何模型的網格劃分,提交求解,幾何模型的網格劃分可以采用gmsh,有限元求解可以采用一些開源求解器,比如getdb,Code_Aster,CalculiX等等。這里有一個有限元軟件的列表https://en.wikipedia.org/wiki/List_of_finite_element_software_packages
后續對這些技術點一一展開討論。
Abaqus 泰森插件-voronoi 3D
如果你用過Neper軟件,你會知道Neper是先生成模型,然后在用Gmsh去畫網格,而經常會出現的一個問題是:在模型中有時候會有一個很小很小的晶粒,而你的網格尺寸卻受這個最小晶粒的影響,從而導致產生網格數量很大的模型(有時候可能導致無法計算)。使用該插件則不會出現此問題,因為我們預先畫好了網格。
圖2. voronoi 3D 插件生成的多晶體模型
看到這里有人會問既然你說Neper很專業了,為什么還要推薦這個插件?它的優勢在哪里?這其實就是我想說的,有時候我們的研究會考慮孔洞的增長(void growth), 就需要含孔洞的晶體模型。而恰好它對于含孔洞的多晶體模型具有絕對的優勢(一點也不夸張),不信?先來看對比(如圖3所示)。從圖中我們可以發現Neper生成的模型孔洞竟然失真了!!!!而推薦的插件生成的模型很完美。 在筆者沒發現這個插件的時候焦頭爛額的研究了2周Neper軟件都沒有解決問題,當看到這個軟件的時候是無比的興奮,模型問題就迎刃而解了。
(a)Neper (b) voronoi 3D (elementgroup)
圖3. Neper與voronoi 3D插件對于含孔洞模型生成對比
除此之外,該插件還有很多強大的功能,比如直接生成正方體、圓柱、球晶體、柱狀晶體等模型,這個功能在Neper也可以簡單實現,結果與voronoi 3D插件一樣,這里用1000個晶粒來做一下測試對比,如圖4所示。筆者也測試了相應的CPU時間,總的來說相差不大,只是Abaqus voronoi 3D插件需要顯示晶粒顏色(在Abaqus里是set)時需要較長的加載時間。
(a)Neper
(b)voronoi 3D插件
圖4.
展開 Abaqus 泰森插件-voronoi 3D
如果你用過Neper軟件,你會知道Neper是先生成模型,然后在用Gmsh去畫網格,而經常會出現的一個問題是:在模型中有時候會有一個很小很小的晶粒,而你的網格尺寸卻受這個最小晶粒的影響,從而導致產生網格數量很大的模型(有時候可能導致無法計算)。使用該插件則不會出現此問題,因為我們預先畫好了網格。
圖2. voronoi 3D 插件生成的多晶體模型
看到這里有人會問既然你說Neper很專業了,為什么還要推薦這個插件?它的優勢在哪里?這其實就是我想說的,有時候我們的研究會考慮孔洞的增長(void growth), 就需要含孔洞的晶體模型。而恰好它對于含孔洞的多晶體模型具有絕對的優勢(一點也不夸張),不信?先來看對比(如圖3所示)。從圖中我們可以發現Neper生成的模型孔洞竟然失真了!!!!而推薦的插件生成的模型很完美。 在筆者沒發現這個插件的時候焦頭爛額的研究了2周Neper軟件都沒有解決問題,當看到這個軟件的時候是無比的興奮,模型問題就迎刃而解了。
(a)Neper (b) voronoi 3D (elementgroup)
圖3. Neper與voronoi 3D插件對于含孔洞模型生成對比
除此之外,該插件還有很多強大的功能,比如直接生成正方體、圓柱、球晶體、柱狀晶體等模型,這個功能在Neper也可以簡單實現,結果與voronoi 3D插件一樣,這里用1000個晶粒來做一下測試對比,如圖4所示。筆者也測試了相應的CPU時間,總的來說相差不大,只是Abaqus voronoi 3D插件需要顯示晶粒顏色(在Abaqus里是set)時需要較長的加載時間。
(a)Neper
(b)voronoi 3D插件
圖4.
展開 學習有限元編程,這些書籍及開源軟件你值得擁有(一)
另外一個版本,是集成了gmsh和paraview的版本,Salome-Meca,既有前后處理器又有求解器,安裝也比較簡單。下載地址如下:https://code-aster-windows.com/download/
文章轉自“復合材料力學”微信公眾平臺
Salome平臺介紹及二次開發案例
關于網格劃分算法,SMESH模塊包含了:
◆ 自身網格工具,用于四邊形、六面體、邊界層網格等;
◆ 集成了開源網格劃分工具:NETGEN和Gmsh;
◆ 擁有商用許可的商業網格劃分工具MG-CADSurf、MG-Tetra、MG-Hybrid、MG-Hexa。
0
3
PARAVIS
后處理模塊PARAVIS實際是強大的開源前后處理軟件PARAVIEW。其分布式模式支持大規模的可視化任務。PARAVIS通過編寫Python腳本,可在必要時創建批處理可視化或需要重復對可變參數運行的可視化任務。它可用于遠程可視化集群,以交互方式分析大量結果。
Salome二次開發案例
基于SALOME的仿真APP開發依托于GUI模塊或稱為SUIT(SALOME User Interface Toolkit(SALOME用戶界面工具包))。該模塊通過SIP庫及SWIG庫,前者實際是PYQT開發商RiverBank開發的用于PYQT的Python/C++混合編程解決方案【2】。通過SIP生成的Python接口,使得開發者可以很方便地調用各個模塊,實現根據實際模擬仿真的需要,組裝現有的特定模塊以及添加自定義模塊用于構建仿真APP。
下面是一個簡單的二次開發案例——桁架橋設計器【3】。使用到的SALOME原有模塊:SHAPER、GEOM、SMESH、PARAVIS。使用的求解器是著名開源結構有限元軟件Code-Aster。
該APP已經集成至“神工坊”2.0平臺。圖形界面通過GPU集群渲染,保證用戶端流暢的圖形操作;后臺計算提交至超算高性能計算節點。
1.
展開 
晶體塑性有限元仿真入門(4)--織構演變文獻復現
圖6 "voronoi"方法與"graingrowth"方法構建的幾何模型對比
微觀結構網格劃分
由于geo格式的文件在<a href="/major/abaqus中無法導入,就算寫入腳本成功導入,其自帶的網格劃分模塊也不能滿足如此復雜裝配模型的網格劃分,因此我們使用專業網格劃分開源工具gmsh進行微觀結構網格劃分,然后導出inp格式的文件供abaqus導入,如圖7所示。
圖7 多晶體微觀結構網格劃分結果
晶體塑性材料模型
晶體塑性材料模型在ABAQUS中作為用戶材料子程序(Huang's UMAT)實現,退火后的純銅被假定為具有各向同性的初始織構,即假設初始晶粒取向是隨機分布的[Polycrystalline Plasticity and the Evolution of Crystallographic Texture in FCC Metals, Texture evolution and mechanical behaviour of irradiated face-centred cubic metals],274個晶粒的初始織構如圖8所示。
圖8 274個晶粒的初始織構(0~180°隨機織構)
建立完模型后對第一增量步的晶體取向(初始取向)進行驗證,如圖9所示,說明有限元模型被正確的賦予了這些隨機取向,并驗證了取向計算程序的正確。
圖9 建立模型后對第一步晶體取向的驗證
塑性變形邊界條件
Abaqus構建有限元模型關鍵步驟如圖10所示。通過以上三個小節的操作,我們借助其他平臺或者編寫腳本完成了Part、Mesh、Property等較為復雜的模塊。接下來,在Abaqus的Module中可以完成Assembly、Step、Interaction等較為簡單的模塊。
展開 CFD萌新入門|開源CFD代碼
其他常見的網格工具,如 Pointwise 和 Gmsh,也可以直接導出為 OpenFOAM 網格文件格式。此外,建議在運行此類工具后檢查生成的網格,以確保轉換成功。OpenCFD 文檔中討論了更多選項。不過我們需要注意的是,在使用內置轉換器從商業軟件網格進行轉換后,我們曾遇到過無法解釋的求解器穩定性問題。
5 求解與后處理
一旦有了網格幾何體,物理模型和求解器設置也準備就緒,就可以導航到案例目錄,然后在命令行終端輸入求解器關鍵字,如 simpleFoam。就是這樣。您的案例就可以運行了。當求解器運行時,您可能會在命令行/終端窗口中看到每次迭代的殘差。你也可以將它們寫入日志文件。
OpenFOAM的一個特別優勢是,它允許 "分解 "問題,并在多個處理器上并行運行,甚至在網絡上的多個 CPU 節點上并行運行。使用 OpenFOAM時,必須在system目錄下設置一個decomposeParDict文件。該文件允許用戶指定將使用多少個處理器,以及如何將域分配給每個處理核心。字典準備就緒后,"decomposePar "例程將被調用,并將模型分解成指定的部分。仿真完成后,用戶必須在后處理前調用 "recompose "例程。雖然這些例程需要時間,但通過并行化可以大大縮短大型問題的仿真時間。
新版 OpenFOAM添加了一個名為foamMonitor的例程,允許在啟動作業后在終端鍵入第二條命令,以交互方式繪制守恒方程殘差。要使其正常工作,還需要一些其他設置步驟,但一旦開始工作,它就能很好地工作。遺憾的是,由于 Ubuntu bash 無法顯示曲線圖,因此無法在 Windows 10 中運行。
OpenFOAM仿真殘差
總的來說,我們發現 OpenFOAM求解器非常穩健。
展開 工業軟件(CAD、CAE和EDA)為什么這么難研發?(轉載)
就在這樣一個高難度的領域,國內很多軟件都是裸奔,依靠Gmsh之類開源算法無法滿足客戶定制改進的要求,很難做到工業應用主流中去。
優化也是普遍性的數值方法,包括優化理論、代理模型等,是求解復雜工程問題的基礎,更不用說對各種路徑規劃所涉及的矩陣理論、泛函分析、動態規劃、圖論等等,無不是多約束條件下的多目標自動解空間尋優,背后都是數學王國建構的基礎之基。
各種CAE、EDA軟件中需要多種計算數學理論和算法,包括線性方程組、非線性方程組求解、偏微分方程求解、特征值特征向量求解、大規模稀疏矩陣求解等都需要非常深厚的數學基礎。如果不能熟練運用各種數學工具,對物理場的建模也就無從談起。
2/ 物理場面臨著多種挑戰
頭疼的數學之后,接著是頭疼的物理。這是仿真軟件、EDA軟件需要突破的地方。工業技術的源頭,是對材料及其物理特性的開發與利用。因此,對多物理場及相互耦合的描述與建模是各種仿真分析軟件的核心。
而工業軟件由于要解決的是真實的大千世界,所有看得見、看不見的物理場,都在按照各自的機理自由游蕩。工業軟件必須要跨越十分寬廣的學科光譜,跨越了錢學森科學技術體系的基礎科學、技術科學、工程科學、工程技術,而且也會包含大量的經驗、訣竅等“前科學”知識。具體而言,任何CAE軟件在市場上存身的根本都是其解決結構、流體、熱、電&磁、光、聲、材料、分子動力學等物理場問題的能力,每種物理場都包含豐富的分支學科。
仿真分析軟件CAE的求解器由物理算法組成,每個專業領域都有一堆問題求解算法,不同領域如電磁、結構、流體的求解器處理機制,完全不同,基本沒法通用;另外一方面,跟FEA有限元方法有關,采用的單元類型不同,問題求解算法也不同。因此,雖然也有第三方的求解器,但無法像三維CAD軟件領域那樣形成通過出售幾何建模引擎和幾何約束求解引擎獲利的商業模式。
展開 工業軟件(CAD、CAE和EDA)為什么這么難研發?(轉載)
就在這樣一個高難度的領域,國內很多軟件都是裸奔,依靠Gmsh之類開源算法無法滿足客戶定制改進的要求,很難做到工業應用主流中去。
優化也是普遍性的數值方法,包括優化理論、代理模型等,是求解復雜工程問題的基礎,更不用說對各種路徑規劃所涉及的矩陣理論、泛函分析、動態規劃、圖論等等,無不是多約束條件下的多目標自動解空間尋優,背后都是數學王國建構的基礎之基。
各種CAE、EDA軟件中需要多種計算數學理論和算法,包括線性方程組、非線性方程組求解、偏微分方程求解、特征值特征向量求解、大規模稀疏矩陣求解等都需要非常深厚的數學基礎。如果不能熟練運用各種數學工具,對物理場的建模也就無從談起。
2/ 物理場面臨著多種挑戰
頭疼的數學之后,接著是頭疼的物理。這是仿真軟件、EDA軟件需要突破的地方。工業技術的源頭,是對材料及其物理特性的開發與利用。因此,對多物理場及相互耦合的描述與建模是各種仿真分析軟件的核心。
而工業軟件由于要解決的是真實的大千世界,所有看得見、看不見的物理場,都在按照各自的機理自由游蕩。工業軟件必須要跨越十分寬廣的學科光譜,跨越了錢學森科學技術體系的基礎科學、技術科學、工程科學、工程技術,而且也會包含大量的經驗、訣竅等“前科學”知識。具體而言,任何CAE軟件在市場上存身的根本都是其解決結構、流體、熱、電&磁、光、聲、材料、分子動力學等物理場問題的能力,每種物理場都包含豐富的分支學科。
仿真分析軟件CAE的求解器由物理算法組成,每個專業領域都有一堆問題求解算法,不同領域如電磁、結構、流體的求解器處理機制,完全不同,基本沒法通用;另外一方面,跟FEA有限元方法有關,采用的單元類型不同,問題求解算法也不同。因此,雖然也有第三方的求解器,但無法像三維CAD軟件領域那樣形成通過出售幾何建模引擎和幾何約束求解引擎獲利的商業模式。
展開