tài liệu chia lưới

Author
Anh nào có tài liệu về chia lưới cho em xin được không ạ. Đang tìm hiểu phần này mà khó quá. Ai có kinh nghiệm chỉ em một số nguyên tắc chia lưới được không ạ. Em cảm ơn
 

Pathétique

Active Member
Ðề: tài liệu chia lưới

Bạn vào Topic của mình ở link này, đọc cuốn An introduction to the Finite Element Method (J.N.Reddy), chương 9, phần mesh generation, họ trình bày những điểm cơ bản nhất liên quan đến chia lưới.
http://www.meslab.org/mes/threads/34550-Tong-hop-[MEDIA=youtube]a-lieu[/MEDIA]-hoc-va-lam-CAE.html

Tùy problem mà việc chia lưới phức tạp hơn rất nhiều so với trong sách, tuy nhiên nắm chắc bản chất vấn đề (hiện tượng, mô hình, thuật giải) thì sẽ chia lưới được đúng. Với đề tài hay project quan trọng, bạn có thể gửi mô hình mình verify & validate giúp bạn.
 
Author
Ðề: tài liệu chia lưới

cảm ơn anh.
cho em hỏi thêm xí nữa a. khi giải 1 bài toán thì phấn nào là phần quan trọng nhất. và học CAE nên học kỹ phần nào a.
 

Pathétique

Active Member
Ðề: tài liệu chia lưới

Phần nào cũng quan trọng, vì các phần liên quan đến nhau. Tùy problem mà phần nào khó hơn thôi, có bài thì chia lưới mất cả năm nhưng tính toán nhanh, có bài khác thì chia lưới 1 phút nhưng giải và phân tích rất khó.

Học phần mềm khá đơn giản. Bạn không cần học chia lưới, vì nắm lý thuyết và qua các ví dụ bạn sẽ biết cách. Các bước còn lại chỉ là chọn mục và điền giá trị vào, bấm nút là ra kết quả. Nên không nên chỉ học qua các ví dụ phần mềm khi bạn chưa nắm lý thuyết. Bạn chọn chỉ 1 phần mềm học thôi, trong mỗi phần mềm còn nhiều thứ cần đào sâu : subroutines để personalise tính toán, lập mô hình thông số... 2 ngôn ngữ hỗ trợ các phần mềm hay sử dụng là Python và Fortran (hiện mình dùng Marc Mentat và Abaqus đều sử dụng 2 cái này).

Để làm mọi thứ một cách đúng và cảm nhận cũng như đánh giá được kết quả thì bạn cần học kỹ lý thuyết phương pháp số. Bạn có thể bắt đầu từ những ví dụ đơn giản học trong môn sức bền VL, tích phân từng phần phương trình về weak form, thay biến, giải..., rồi lập mô hình trên phần mềm, so sánh kết quả. Làm vài ví dụ là bạn sẽ quen và thấy dễ dàng, rất nhanh thôi.

Sau đó tùy problem nào bạn nắm chắc kiến thức phần đó thôi, cơ học thì đọc sức bền VL, CFD thì cơ chất lưu...
 

elkun24

New Member
Ðề: tài liệu chia lưới

Bác Pathetique có thể giải thích giúp em về phần mềm Cast3m (nó là gì và ứng dụng như thế nào) 1 chút ko ạ ? Em mới học về CAE mà thông tin về Cast3m hầu như toàn tiếng Pháp em đọc ko hiểu lắm.
 

DCL

<b>Hội đồng Cố vấn</b>
Lượt thích: umy

Pathétique

Active Member
Ðề: tài liệu chia lưới

Cast3m là code tính toán sử dụng phương pháp phần tử hữu hạn, có khả năng giải các bài toán cơ chất rắn, CFD, các vấn đề nonlinear, couling và multiphysics. Phần mềm hoàn toàn miễn phí, mã nguồn mở, tốc độ tính toán nhanh, khả năng mô phỏng chất lượng cao, đặc biệt chuyên dùng trong lĩnh vực hạt nhân để thiết kế đảm bảo an toàn lò phản ứng hạt nhân. Vì cast3m có mã nguồn mở, khả năng personalise mô hình cao nên thường được dùng hỗ trợ các phần mềm khác trong công đoạn preprocessing (chia lưới).

Ngôn ngữ lập trình của Cast3m là Gibianne, khá giống với Abaqus và đặc biệt Marc Mentat. Tuy nhiên Cast3m hầu như không hỗ trợ về mặt đồ hoạ nên không được dùng phổ biến ngoài lĩnh vực hạt nhân.

Nếu bạn cài được phần mềm khác thì nên dùng. Nếu bạn dùng cast3m mình có thể hỗ trợ bạn ở mức chuyên sâu, project lớn hoặc đề tài quan trọng.
 
Lượt thích: umy

elkun24

New Member
Ðề: tài liệu chia lưới

Em thường dùng những phần mềm free để tránh vấn đề bản quyền hay crack lằng nhằng.

Việc tiếp cận cast3m khá khó khăn bởi cái giao diện của nó cũng chẳng giống phần mềm nào. Bác có thể cho em xin tài liệu về cast3m bằng tiếng anh or tiếng việt được ko ạ ? Em cũng chưa làm đề tài hay project nào lớn cả, tất cả mới ở mức sơ khai. Em chuyên về thiết kế hệ thống cơ khí nên muốn học thêm về CAE để bổ sung vào khả năng thiết kế của mình (tối ưu hóa các kết cấu ấy ạ).

Em cảm ơn bác.
 

Pathétique

Active Member
Ðề: tài liệu chia lưới

Cast3m không phải phần mềm CAE. CAE là phần hỗ trợ tương tác người dùng bằng giao diện đồ họa thôi, còn bạn viết code, lập trình và dùng solver để giải thì không phải CAE. Mình dùng cả abaqus và marc nhưng mình không làm CAE.

Đúng là nếu làm cty service và sản phẩm được kiểm duyệt và chuẩn hóa trước hoặc sau khi giao cho khách hàng thì nên dùng phần mềm có bản quyền, không thì sau rắc rối vì liên quan nhiều thứ.

Cast3m có website tiếng Anh, phần giới thiệu về cast3m ở đây (bạn nhìn qua bên trái có cờ England dưới logo của CEA, bấm vào đó là ra site bằng tiếng Anh) : http://www-cast3m.cea.fr/index.php?xml=presentation

Phần mềm free về finite element giờ cũng khá nhiều, nhưng có uy tín và đảm bảo chất lượng tính toán ở mức được dùng nhiều trong công nghiệp để mình có thể yên tâm thì rất ít, đây cũng là 1 lợi thế của cast3m. Cũng vì vậy nên phầm mềm được đưa vào giảng dạy các môn phương pháp số trong các trường đại học và dùng nhiều ở các trung tâm nghiên cứu.

Cast3m phát triển bởi Cao ủy năng lượng hạt nhân Pháp nên tài liệu tiếng Anh (và cả tiếng Pháp) khá ít, tiếng việt thì không có (dù rất nhiều bạn VN tham gia phát triển Cast3m !). Mình chỉ tìm được 2 tài liệu hướng dẫn cast3m bằng tiếng Anh :
Annotated Testing Files : tập hợp các test cases để validate phần mềm (khi bạn phát triển 1 phần mềm, bạn phải dùng phần mềm tính toán những test được chuẩn hóa (của NAFEMS chẳng hạn) để chứng tỏ phần mềm dùng tốt). Các test này khá đơn giản, code ngắn gọn, đủ hầu hết các lĩnh vực và vấn đề (cơ nhiệt điện từ, đàn hồi, dẻo...), tuy nhiên không có comment nên khó đọc hiểu code : http://www-cast3m.cea.fr/html/Documentation_Cast3M/Annotated_testing_files.pdf

A introduction to finite elements based on examples with Cast3m : course của trường Polytechnique, tuy nhiên compile Latex không figures nên không có hình : http://hera.polytechnique.fr/users/constantinescu/Magis/AC_castem.pdf

Để tự học, tốt nhất bạn nên dùng 1 phần mềm nào đó phổ biến (abaqus, marc, ansys...), trực quan và dễ thao tác hơn. Một nhược điểm nữa của cast3m là các lệnh phần nhiều bằng tiếng Pháp.

Abaqus hay Marc cho bản SV free mà, bạn down về dùng được đấy. Marc thì bạn chỉ cần upload thẻ SV (mượn ai đó cũng được), MSC software cho down toàn bộ các sản phẩm của họ version sinh viên (Nastran, Patran, Adams, Marc...) http://www.mscsoftware.com/fr/page/student-editions, còn abaqus mình không rõ lắm nhưng mình có version sinh viên, họ giới hạn 10k phần tử thôi nhưng đủ để tự học và làm khá nhiều, hoàn toàn free và hợp lệ. Nếu bạn dùng abaqus hay marc mình có thể giúp bạn phần tài liệu dễ đọc hiểu, ví dụ trực quan dễ làm, tiện dụng, cả CAE lẫn code.
 
Last edited:

Pathétique

Active Member
Ðề: tài liệu chia lưới

Tùy trường hợp, midsurface mình hay dùng khi cần đơn giản hóa mô hình bằng cách thay phần tử 3D bằng phần tử shell, tiết kiệm rất nhiều thời gian tính toán.
 
Lượt thích: umy
Author
Ðề: tài liệu chia lưới

khi tính toán chia lưới 2d hay 3d cho kết quả chính xác hơn a.
 

DCL

<b>Hội đồng Cố vấn</b>
Ðề: tài liệu chia lưới

khi tính toán chia lưới 2d hay 3d cho kết quả chính xác hơn a.
Trong mục này, mọi người đã cung cấp cho cậu nhiều link tài liệu rất hữu ích. Cậu nên xem qua (tốt nhất là nghiên cứu kỹ) rồi nếu có vướng mắc gì thì ta cùng nhau trao đổi, như vậy sẽ hiệu quả hơn là hỏi về những việc quá đơn giản mà trong tài liệu nào cũng đã trình bày rồi.

Hãy xem ví dụ sau: Nếu 1 vật chuyển động với tốc độ không đổi thì ta dễ dàng xác định được quãng đường vật đó đi được sau 1 khoảng thời gian bằng cách nhân tốc độ với thời gian chuyển động. Nhưng nếu vật đó chuyển động với vận tốc thay đổi thì ta cần biết hàm tốc độ của nó theo thời gian và dùng phương pháp vi/tích phân để giải.

Tiếc rằng trên thực tế thì ta hiếm khi lập được hàm tốc độ mà chỉ đo được tốc độ tại từng thời điểm, vậy thì một cách gần đúng, ta chia thời gian chuyển động thành một số phần nhỏ và cho rằng trong mỗi phần nhỏ đó thì tốc độ là không đổi; trên cơ sở đó, ta tính được quãng đường đi được trong mỗi khoảng thời gian này, rồi cộng tất cả lại thì được kết quả là quãng đường mà vật đi được. Rõ ràng là kết quả tính toán theo cách này chỉ là gần đúng và nếu ta càng chia nhỏ khoảng thời gian (tức là có càng nhiều khoảng thời gian) thì kết quả càng chính xác. Tuy nhiên, nếu chia thời gian thành quá nhiều khoảng nhỏ thì khối lượng tính toán lại tăng lên và điều này là bất lợi. Cách tính này được minh họa như hình dưới, quãng đường đi được là phần diện tích gạch chéo:



Để nâng cao độ chính xác hơn mà đỡ phải chia thành quá nhiều khoảng nhỏ, ta có thể tính tốc độ trung bình tại mỗi khoảng bằng cách lấy giá trị tốc độ trung bình của tời điểm đầu và cuối của khoảng thời gian đó. Ví dụ tốc độ tại giây thứ 2 bằng 8 m/s và tại giây thứ 3 là 12 m/s thì quãng đường đi được trong khoảng thời gian từ giây thứ 2 đến giây thứ 3 bằng (8+12)/2 = 10 m. Như vậy thì cách chia và tính toán kiểu này sẽ cho ta kiểu đồ thị tốc độ - thời gian là 1 đường gấp khúc gồm nhiều đoạn thẳng, gọi là đường bậc thấp:


Cách tốt hơn nữa là dùng nội suy paraboll, gọi là đường bậc cao:



Phương pháp phần tử hữu hạn là như vậy.

Trong tính toán ứng lực cho một mô hình hình học, người ta cũng chia nhỏ vật thể thành nhiều phần, gọi là các phần tử, bằng một hệ thống lưới. Các lưới này có thể là bậc thấp hoặc bậc cao giống như những minh họa trên, tùy người dùng lựa chọn theo cấp chính xác cần thiết và năng lực máy tính cho phép. Nói chung các vật thể đều là 3 chiều (3D) và được chia thành rất nhiều phần tử nhỏ tùy theo hình dạng hình học của nó, khiến cho dung lượng tính toán rất lớn. Đặc biệt là các vật thể có cấu tạo từ tấm mỏng sẽ đòi hỏi rất nhiều phần tử (chiều dày càng nhỏ thì phần tử càng nhỏ và số lượng càng lớn). Khi đó, người ta dùng phần tử 2D (bỏ qua chiều dày đồng nhất) để giảm khối lượng tính toán, tất nhiên là kết quả sẽ thiếu chính xác chút ít so với lưới 3D, nhưng cũng đáp ứng được yêu cầu và quan trọng nhất là giảm khối lượng tính toán.
 

Pathétique

Active Member
Ðề: tài liệu chia lưới

Phương pháp số (sai phân hữu hạn, phần tử hữu hạn...) dùng hàm xấp xỉ thay vào biến của phương trình, trong phương pháp PTHH gọi là shape function vì mỗi hàm tương ứng với 1 dạng hình học. Sau khi thay biến của phương trình bằng hàm này, ta nhận được phương trình dạng F = K . X (như phương trình đàn hồi của lò xo) và tính được kết quả X tại các nút. Sau đó đối với mỗi phần tử, giá trị của biến tại 1 điểm bất kì trong phần tử được tính tiếp từ các nút này. Kết quả tại các nút là chính xác nhất, còn kết quả tại các điểm thuộc miền giới hạn bới các nút được tính bằng hàm xấp xỉ nên không chính xác bằng. Do đó, nếu bạn giảm khoảng cách giữa các nút (và như vậy thu nhỏ diện tích phần tử, tăng số phần tử trong 1 miền) thì được kết quả chính xác hơn tại các điểm. Tuy nhiên khi bạn tăng số phần tử nghĩa là cũng tăng số nút, nên khối lượng tính toán X tại các phần tử cũng tăng.

Việc tích phân bác DCL đề cập ở trên nằm trong bước tính K trong phương trình F = K . X. Có nhiều thuật toán để tính, cách đề cập trong bài trên là thuật toán Newton-Cotes. Thuật toán chính xác hơn và được dùng trong các phần mềm là thuật toán Gauss Legendre. Trong phương pháo Newton Cotes, các điểm cơ sở (base points) được định sẵn (chính là khoảng chia đều bởi các đường kẻ dọc trong đồ thị), phương pháp Gauss Legendre các điểm này được chọn sao cho tổng của (r+1) giá trị có trọng của hàm cho kết quả tích phân chính xác khi F(x) là đa thức bậc (2r+1) hoặc thấp hơn. Nên khi bạn làm post processing, các phần mềm hay đưa ra lựa chọn Gauss points, và bạn nên chọn lấy giá trị tại những điểm Gauss này để đảm bảo tính chính xác. Trong nhiều trường hợp sai số khá lớn so với các nút phần tử, nhiều bạn mới làm PTHH bị sai chỗ này khi luôn chọn post-processing tại các nút, điều chỉ đúng với phương pháp tích phân Newton Cotes, trong khi lại tích phân bằng phương pháp Gauss.

Dĩ nhiên 3D chính xác hơn, nhưng sau đó là câu hỏi về computability. Khi mô hình toàn phần tử 3D cho khối lượng tính toán quá lớn thì work station không cho ra được kết quả, đó là trường hợp mình đã gặp dù máy 40 cpus. Khi đó phải tối ưu hóa mô hình, thay 3D bằng shell (với part dạng tấm mỏng với chiều dày đủ nhỏ so với 2 chiều còn lại như chú DCL giải thích ở trên), thay 3D bằng beam (phần tử 1D) với phần tử sợi hoặc dây chẳng hạn khi đường kính dây nhỏ so với chiều dài. Tuy nhiên bạn cần nắm lý thuyết về 2 loại phần tử này chắc để đảm bảo sử dụng đúng cách, và mô hình cho kết quả tin cậy.
 
Ðề: tài liệu chia lưới

khi tính toán chia lưới 2d hay 3d cho kết quả chính xác hơn a.
Câu hỏi của bạn hơi khó trả lời nhé. nếu mà bạn có mô hình cụ thể để mọi người xem thì mọi người sẽ có thể tư vấn cho bạn là nên làm 2d hay 3d
nếu chi tiết có dạng cục như cục đá thì rõ ràng là cần làm 3d rồi. còn nếu nó mỏng và rộng thì bạn làm 2d hay 3d cũng được
tại sao bạn không thử làm 2 trường hợp rồi so sánh kết quả, như vậy bạn có thể sẽ biết cái nào chính xác hơn?
 
Ðề: tài liệu chia lưới

Cảm ơn bác Pathetique. Vậy bác có thể gợi ý cho em vài tài liệu dễ tiếp cận về Abaqus ko ạ ? Hiện e cũng đang bắt nghiên cứu cuốn An introduction to the Finite Element Method.

Cảm ơn bác :)
 

Pathétique

Active Member
Ðề: tài liệu chia lưới

Cuốn introduction đó viết rất dễ hiểu và dễ đọc (nắm bắt vấn đề nhanh, dễ nhận ra điểm quan trọng và tự tổng hợp lại được các điểm chính), tiếp sau đó có cuốn FEM cho nonlinear của cùng tác giả, nên bạn có thể đào sâu mà không bị thay đổi mạch kiến thức và hệ thống. Các ví dụ trong sách viết bằng Fortran, đơn giản và dễ làm, fortran cũng là ngôn ngữ source code của phần lớn các phần mềm thông dụng, cả free lẫn thương mại.

Về tiếp cận abaqus, bạn có thể bắt đầu từ documentation của abaqus, phần Tutorials, interactive edition, đọc và làm theo các ví dụ trong đó, họ soạn cũng rất tốt, gồm cả việc nếu mình dùng student edition thì chọn phần tử thế nào để mô hình vẫn chạy được. Cách đây 3 tuần mình đi hội nghị user ở Dassault Systeme (cty mẹ của Abaqus), slide giới thiệu bắt đầu bằng câu hỏi Bạn có nhớ mô hình Finite element đầu tiên của bạn, sau đó là hình cái "connecting lug". Cái ví dụ đó quá nổi tiếng và trở thành mô hình đầu tiên trong đời của nhiều người khi học finite element. Sau đó là hình ảnh cái máy bay cất cánh, và câu hỏi mô hình hiện giờ mỗi người đang ngồi đó đang làm so với cái connecting lug thì như thế nào. Dĩ nhiên so với những gì mỗi người hiện đang làm thì cái connecting lug ấy chỉ là phép tính 1+2 so với tích phân, nhưng 1 chặng đường vài chục năm thì không thể thiếu bước đầu tiên đi từ cái lug ấy.

Bạn làm xong các bước cho đến hết post processing với interactive edition thì bạn đọc thêm keywords edition để có thể viết input file.

Sau bước đầu tiên tutorials, bạn vào phần Abaqus Benchmarks Manual cua documentation, chọn và làm theo các ví dụ đơn giản trong đó. Các ví dụ này đơn giản, vì họ lấy từ các test case của Nafems. Như lần trước mình nói, khi bạn viết 1 solver sử dụng FE, bạn phài dùng solver ấy để giải các test case của Nafems để đảm bảo solver của bạn dùng tốt. Code của các test case này bạn tìm trong folder cài abaqus. Trong máy mình là C:\SIMULIA\Documentation\docs\v6.12\books\eif. Chẳng hạn, trong Abaqus Benchmarks Manual, bạn vào mục 4.2.7 LE7: Axisymmetric cylinder/sphere under pressure, ở cuối mục họ chỉ cho bạn input file là nle7xa3c.inp, bạn tìm trong folder với đường dẫn trên, hoặc documentation tự link đến đó.

Nếu bạn chưa có project cụ thể hay làm chuyên sâu thì bạn học hết tutorials là đủ nắm cơ bản và làm được khá nhiều cho công việc thiết kế rồi. Dù sao nó cũng là tutorials chuẩn mà, và mô hình đầu tiên của bạn cũng là cái lug huyền thoại :)
 

thanhlh84

Active Member
Ðề: tài liệu chia lưới

Như bác Pathetique nói hoàn toàn chính xác. Tuỳ bài toán mà yêu cầu chia lưới khác nhau.
Cuối cùng thì phương pháp phần tử hữu hạn FEA cũng là tìm lời giải xấp xỉ gần đúng.

Do đó, tuỳ theo mức độ chính xác yêu cầu mà cần phải có tiêu chuẩn chia lưới khác nhau. Trong bài toán tính toán hệ số an toàn cho oto (Crash safety), việc chia lưới cực kỳ quan trọng và các tiêu chuẩn cũng rất khắt khe vì đòi hỏi độ chính xác cao hơn và tốc độ hội tụ nhanh hơn.

Ví dụ nếu bạn mô phỏng va chạm thì theo điều kiện ổn định Coran thì yêu cầu min length element phải lớn hơn giá trị nào đó (tuỳ từng công ty mà sẽ khác nhau một chút) vì liên quan đến time step. Nếu bạn nào mà chia lưới tự động và mô phỏng va chạm tương đối chính xác + nhanh cho> 1 triệu elements của một assembly car thì bạn ấy nên sang Mỹ để xin cấp bằng sáng chế khẩn trương.

Nếu bạn chỉ làm structure analysis thì chia lưới sẽ không khắt khe như Crash analysis. Nhất là làm linear static analysis thì bạn cứ chia lưới tự động và xài bất cứ phần mềm CAE(FEA) nào.

Sự khác nhau và độ mạnh của mỗi phần mềm CAE đều phản ánh trên độ chính xác mô phỏng(accurate) và thời gian tính toán nhanh hay chậm(convergence). Còn chạy ra màu xanh, màu đỏ để đánh giá sơ bộ thiết kế thì rất nhiều phần mềm có thể dùng được từ mã nguồn mở cho đến tính phí.

Ví dụ khi nói về mô phỏng đúc thì phần mềm Magmasoft cho kết quả chính xác nhất hiện nay có điều giá thành hơi cao. Mô phỏng CFD thì StarCCM sẽ giải nhanh và chính xác hơn rất nhiều Openfoam và các phần mềm khác nhưng giá thành cao.
 
U

umy

Xem thêm: Có thể theo đó chia vài mạng lưới hữu ích trong thực tiển !
http://truegrid.com/femgallery.html


Mesh of Gas Piston
The geometry for this mesh, consisting of 24 cylinders and planes, was created in TrueGrid®. The density is parametric.




a) Gas Piston and Rod Low Denisty
This version of the model has 7,488 nodes,
271 shells, and 3,560 bricks in 9 parts.
b) Gas Piston and Rod High Density
This version of the model has 136,045 nodes,
1085 shells, and 105,358 bricks in 9 parts.

Mesh of a Full Size Pick-up Truck Frame

Analysis model developed by TransMotive Technologies, Inc., Santa Rosa, CA, using TrueGrid®. This model was used by TransMotive Technologies, Inc. for both crashworthiness analysis as well as structural durability studies.



Mesh of a Racing Bike

Analysis model developed by TransMotive Technologies, Inc., Santa Rosa, CA, using TrueGrid®. This model was used by TransMotive Technologies, Inc. to do a nonlinear dynamic impact simulation. The mesh lines have beem removed from the overall model because there are too many mesh lines to distinguish at this distance. The fine detail of this mesh can be seen in the zoomed-in images.




Finite Element Mesh of a Pipe Elbow

The base of this part is done in a quarter section and then replicated. There are 3 separate parts to this model. There are 1,440 nodes that merge out. There remain 20,844 nodes and 16,000 bricks.






EFFECT OF MESH QUALITY IN FINITE ELEMENT ANALYSIS OF CRACK-TIP STRESSES IN ACIRCUMFERENTIAL SURFACE CRACK OF A PIPE ELBOW WELDMENT
http://www.truegrid.com/pub/Rainsberger_ICF-14_Greece_2017.pdf

Có nhiều Tài Liệu hay để tra cứu, Nên tìm đọc thêm !!
Trích TRUE GRID : http://truegrid.com/VandV.html

A Mesh Generator and Pre-Processor for FEA and CFD Analysis
 
Last edited by a moderator:
Top