Chia lưới các lĩnh vực hình học phức tạp


16

Khi sử dụng phương thức phần tử hữu hạn , tôi luôn sử dụng các miền đã được chia lưới hoặc các miền rất đơn giản.

Từ những gì tôi đã nghe, chia lưới hình học phức tạp thường được gia công cho các công ty chuyên ngành (vì nó được coi là không phải là một phần thú vị của công việc).

Tôi tự hỏi làm thế nào nó được thực hiện: nó là một phần tự động, bạn có nên xác định các điểm và kết nối bằng tay trong một số trường hợp? Các tiêu chí được sử dụng phổ biến nhất để đảm bảo lưới sẽ đáp ứng sự mong đợi của khách hàng là gì? Xu hướng là gì: chúng ta có nên hy vọng nó sẽ hoàn toàn tự động trong những năm tới không?

Chỉnh sửa: Gần đây tôi đã tìm thấy một câu trả lời một phần cho câu hỏi này: Phân tích cân bằng (IGA). IGA có thể được coi là một phần mở rộng của phương pháp phần tử hữu hạn để giải quyết vấn đề tạo lưới bằng cách tạo lưới trực tiếp từ CAD. Nó sử dụng mô tả spline CAD của hình học để tự động xây dựng cả lưới và không gian phần tử hữu hạn.

Và một trong những lý do nó đã được phát triển là bởi vì các tác giả nhận thấy rằng việc tạo lưới rất đau đớn mà phải mất hầu hết thời gian để đạt được trong ngành và sự hội tụ của lưới chỉ hiếm khi được kiểm tra.

Phương pháp này có vẻ thực sự thú vị nhưng không được sử dụng rộng rãi vì tương đối mới (10 năm).


Tôi không phải là một chuyên gia về chia lưới nhưng tôi đã thực hiện nó một vài lần và điều đó chủ yếu phụ thuộc vào những gì bạn muốn đạt được và thời gian bạn dành cho nó. Chia lưới có thể thực tế tự động bằng cách sử dụng cấu hình mặc định, nhưng bạn cũng có thể thay đổi cấu hình cục bộ và trong một số phần mềm, bạn có thể xác định hình dạng của các thành phần lưới cũng như kích thước của chúng theo cách thủ công cho gần như mỗi nút.
Slovakov

1
Điều này dường như đường biên giới quá rộng đối với tôi ở dạng hiện tại. Có toàn bộ sách viết trên chia lưới. Có thể thu hẹp thêm phạm vi của câu hỏi?
Paul Gessler 6/2/2015

Không phải là một chuyên gia, nhưng tin rằng 90% + là tự động. Điều chỉnh thủ công được thực hiện nếu các mô phỏng hiển thị kết quả không thực tế hoặc không hội tụ. Mặt khác, tôi tạm thời đồng ý với @PaulGessler ở đây, mặc dù tôi nghĩ với một chút câu hỏi có thể hoạt động rất tốt. Đó là một lĩnh vực thú vị. Có lẽ phần cuối hơi quá rộng đối với tôi "xu hướng trong những năm tới" và vấn đề có thể được nêu cụ thể hơn, ví dụ với một ví dụ cụ thể.
pandita

@PaulGessler Tôi đồng ý câu hỏi rất rộng. Nó thực sự là về chia lưới nhìn qua đôi mắt của một kỹ sư. Tôi biết rằng chúng là nhiều cuốn sách về chia lưới, nhưng tôi đoán hầu hết chúng là từ quan điểm toán học và cung cấp ít thông tin về những gì được thực hiện trong các trường hợp cụ thể.
Bé bôier

@pandita Thật không may, tôi không có ví dụ cụ thể như vậy. Có thể 90% là tự động, thậm chí có thể 99%. Nhưng 10% hoặc 1% còn lại là một vấn đề lớn từ những gì tôi đã nghe.
Bé bôier

Câu trả lời:


8

Có một số kỹ thuật chia lưới các miền phức cho Phân tích phần tử hữu hạn. Chúng thường rơi vào hai loại: Cấu trúc so với Không cấu trúc. Đối với các mắt lưới có cấu trúc, về cơ bản, toàn bộ lưới có thể được ánh xạ trực tiếp vào một mảng 3D của tọa độ XYZ, trong khi các lưới không có cấu trúc thì không thể. Có một mô tả tốt về các phân loại với hình ảnh ở đây: http://en.wikipedia.org/wiki/Grid_ classification

Trong chia lưới có cấu trúc, có hai loại cụ thể:

Lưới cấu trúc:

  • Lưới Cartesian - Về cơ bản, đây là cách sử dụng các khối lục giác để thể hiện các yếu tố. Một gói nổi tiếng sử dụng chia lưới Cartesian sẽ là Cart3D. Điều này không thực sự phức tạp, nhưng khó khăn là xác định nơi các hình khối giao nhau trên bề mặt.

  • Lưới trang bị cơ thể - trong các lưới cong được trang bị cơ thể, chúng có thể được chia thành: lưới đại số, hoặc lưới elip. Trong cả hai trường hợp, người dùng phải xác định các điểm trên ranh giới của tên miền. Để tạo các điểm trong phần bên trong của miền, các lưới đại số thường sử dụng một số biến thể của một kỹ thuật gọi là phép nội suy Hermite để tạo các điểm bên trong. Các lưới elip có thể tạo ra các lưới cong trong đó về cơ bản tất cả các đường lưới là trực giao, và nói chung là những gì được sử dụng khi nói đến các mắt lưới phù hợp với cơ thể. Các điểm bên trong ở đây về cơ bản được tính bằng cách giải phương trình vi phân một phần elip. Sách giáo khoa defacto cho các loại kỹ thuật trang bị cơ thể này có sẵn trực tuyến tại đây: http://www.erc.msstate.edu/publications/gridbook/. Tác giả của cuốn sách này, về cơ bản được coi là "cha đẻ của thế hệ lưới", bởi vì ông đã đưa ra lưới Elliptic cho thế hệ lưới.

Lưới không cấu trúc

  • Do các lưới không có cấu trúc không thể được ánh xạ thành một mảng 3D, do đó chúng cũng phải chỉ định ánh xạ kết nối, có thể liên quan đến các phần tử nào có liên quan đến các phần tử khác. Thuật toán cơ bản được sử dụng được gọi là "Delauney triangulation", được thảo luận chi tiết tại đây: http://en.wikipedia.org/wiki/Delaunay_triangulation . Một trong những cuốn sách phổ biến đề cập đến chủ đề này được gọi là "Sổ tay tạo lưới".

  • Thuật toán cơ bản ở đây là, đưa ra một tập hợp các điểm ban đầu trên đường biên: (1) Tính toán tam giác ban đầu, (2) Thực hiện kiểm tra chất lượng dựa trên thuật toán sàng lọc của Ruppert ( http://en.wikipedia.org/wiki/Ruppert % 27s_alacticm ), (3) Chèn hoặc xóa các điểm dựa trên thuật toán của Ruppert sao cho tứ diện được tạo ra có góc tối thiểu (ví dụ 24 độ).

Để trả lời câu hỏi của bạn về các tiêu chí, điều gì làm cho một lưới tốt phải làm với một số yếu tố, nhưng một vài yếu tố quan trọng nhất là: (1) độ phân giải lưới (có đủ điểm lưới để có độ phân giải cần thiết) và ( 2) hình dạng của các yếu tố (độ nghiêng, góc tối thiểu, tỷ lệ khung hình, v.v.). Điều này được thảo luận ở đây: http://en.wikipedia.org/wiki/Types_of_mesh Cả hai điều này sẽ ảnh hưởng đến chất lượng của một giải pháp Phần tử hữu hạn. Có một khía cạnh khác của việc chia lưới không có cấu trúc được gọi là "Mặt trận tiến bộ" được sử dụng để tạo ra các điểm gần ranh giới trong trường hợp Fluid Dynamics.

Sau khi nói tất cả, hầu hết các kỹ thuật đòi hỏi một số công việc lên phía trước và sau đó cũng hơi tự động. Trong bất kỳ loại thuật toán lưới nào, người dùng sẽ phải dành một chút thời gian để xác định hình dạng và một số phân phối điểm ban đầu trên bề mặt. Từ kinh nghiệm của tôi, lưới trang bị cơ thể mất nhiều thời gian nhất. Cả tam giác Delaunay và các lưới Cartesian về cơ bản đều tự động trong việc tạo các điểm của miền bên trong.

Tôi đã không làm nhiều công việc trong lĩnh vực này trong vài năm qua, nhưng xu hướng trong quá khứ đang chuyển từ các lưới được trang bị cơ thể sang các tam giác Delaunay không có cấu trúc hoặc lưới Cartesian. Ngoài ra, đã có một số mã có thể chuyển đổi lưới cartesian thành lưới Delaunay không có cấu trúc và ngược lại (ví dụ Gambit).

Tôi không nghĩ các mã chia lưới này sẽ hoàn toàn tự động, bởi vì một số mức đầu vào được yêu cầu để chỉ định hình dạng, thường liên quan đến việc làm sạch mô hình CAD. Gần đây, các kỹ thuật đã được phát triển để tự động hóa phần lớn các nhiệm vụ này. Tạo các điểm bên trong của miền là khá nhiều hoàn toàn tự động những ngày này. Những hệ thống phát điện lưới hiện đại này đang trở nên khá trưởng thành ngày nay về mặt sản xuất lưới chất lượng cao. Một trong những lĩnh vực nghiên cứu trong thập kỷ qua là lĩnh vực tăng tốc độ tạo lưới bằng cách sử dụng xử lý song song và trong vài năm qua, việc tạo lưới song song bằng cách sử dụng nhiều Đơn vị xử lý đồ họa (GPU).

Có một danh sách toàn bộ phần mềm tạo lưới ở đây: http://www.robertschneiders.de/meshgeneration/software.html Những phần mềm này phải thuộc một trong ba loại trên.


Tôi nghĩ rằng có cơ hội cho "lấy mẫu đĩa độc ngẫu nhiên" trong miền dưới dạng lưới tự động có cấu trúc giả. Tôi tự hỏi nếu đường kính đĩa có thể được cải thiện bằng cách tính một giải pháp của một cái gì đó như phương trình nhiệt và làm cho bán kính tỷ lệ với thông lượng nhiệt hoặc tương tự. youtube.com/watch?v=G94y3YRqSHk sandia.gov/~samitch/papers/SIGGRAPH-MPS-for-posting.pdf stackoverflow.com/questions/14313916/...
EngrStudent - Khôi phục Monica

5

Trong khi những người khác giải thích khung lý thuyết đằng sau việc chia lưới, thực tế lại khác biệt rõ rệt và nó hoàn toàn không tự động trong các ngành công nghiệp mà chất lượng lưới là vô cùng quan trọng khi các kết quả phân tích phần tử hữu hạn bao trùm rất nhiều quá trình phát triển sản phẩm.

Trước tiên hãy hiểu cách chia lưới được thực hiện:

Chia lưới cho các miền cấu trúc có ba loại: chia lưới 1D, chia lưới 2D và chia lưới 3D dựa trên loại phần tử được sử dụng để chia lưới.

  • Chia lưới 1D: phần tử dòng

  • Chia lưới 2D: phần tử quad / tria

  • Chia lưới 3D: các yếu tố hexa (gạch) / penta / tetra.

Việc sử dụng lưới nào tức là 1D, 2D hoặc 3D chủ yếu phụ thuộc vào độ chính xác tính toán cần thiết, chi phí tính toán (thời gian cần thiết để giải quyết vấn đề) và tỷ lệ khung hình của miền . Tỷ lệ khung hình cao nhất phải là hơn 10 (như quy tắc ngón tay cái nói chung) để bỏ qua một kích thước và đi cho lưới kích thước thấp.

Hãy để tôi giải thích.

  • Một miền có kích thước 100X50X80 có tất cả các kích thước tương đương và tỷ lệ khung hình cao nhất là 100/50 = 3. Do đó, các yếu tố 3D sẽ được sử dụng để chia lưới phần đó.

  • Một miền có kích thước 100X50X8 có một chiều không đáng kể và tỷ lệ khung hình cao nhất là 100/8 = 12. Do đó, các yếu tố 2D sẽ được sử dụng. Một phần kim loại tấm là một ví dụ hoàn hảo về điều này.

  • Một miền có kích thước 100X5X8 có hai kích thước không đáng kể và tỷ lệ khung hình cao nhất là 100/5 = 20. Do đó, các yếu tố 1D sẽ được sử dụng. Một lắp ráp giàn phục vụ như là một ví dụ.

Khi bạn quyết định loại phần tử sẽ được sử dụng, chất lượng phần tử sẽ được đưa vào hình ảnh. Để duy trì chất lượng, chia lưới phải được thực hiện thủ công .

Tất cả các phần mềm chia lưới đều đi kèm với tùy chọn automesh, chỉ hoạt động với các phần có thể ánh xạ và các mặt / khối thẳng. Hầu hết các giải thích trong các câu trả lời khác (đặc biệt là câu trả lời của @ Wes) có liên quan đến những gì được thực hiện trong nền để automesh hoạt động.

Ý tưởng sau đó là chia miền của bạn thành nhiều bản vá và tự động vá chúng bằng cách vá và liên tục đảm bảo kết nối giữa các bản vá . Đảm bảo kết nối chủ yếu là tự động dựa trên kiểm tra dựa trên dung sai. Chia lưới 1D dễ dàng hơn trong các khía cạnh này.

Điều tiếp theo là duy trì lưu lượng và tính đối xứng của lưới. Luồng lưới biểu thị sự biến đổi của kích thước phần tử. Khi bạn phải biểu diễn một tính năng phức tạp, kích thước phần tử sẽ thay đổi từ lớn hơn sang nhỏ hơn. Điều này không nên xảy ra trong nháy mắt và thay đổi kích thước dần dần sẽ được duy trì. Ngoài ra, các bộ phận đối xứng nên có lưới đối xứng để duy trì tính toàn vẹn của kết quả từ FEA.

Tất cả các điểm trên sẽ giúp duy trì chất lượng lưới. Tuy nhiên, phần mềm chia lưới thường có một điều khoản để kiểm tra chất lượng lưới bằng cách sử dụng một vài tham số có thể được điều chỉnh theo yêu cầu của mỗi người. Kiểm tra cuối cùng về chất lượng và kết nối là điều cần thiết để đảm bảo kết quả chất lượng từ FEA.

Một số phẩm chất được mong đợi từ một lưới tốt:

từ lưới 1D

  • Không có vấn đề với kết nối của các nút
  • Không có yếu tố trùng lặp
  • Duy trì chiều dài tối thiểu và tối đa

từ lưới 2D / 3D

  • Góc cong vênh dưới 5 độ {được tính bằng cách chia một hình tứ giác thành hai hình tam giác và tìm góc giữa hai mặt phẳng mà hình tam giác tạo thành}
  • Tỷ lệ khung hình nhỏ hơn 5 {chia cạnh chiều dài tối đa của một phần tử cho cạnh chiều dài tối thiểu của phần tử.}
  • Góc nghiêng hơn 60 độ {góc tối thiểu giữa vectơ từ mỗi nút đến giữa cạnh đối diện và vectơ giữa hai cạnh giữa liền kề tại mỗi nút của phần tử. Chín mươi độ trừ đi góc tối thiểu được tìm thấy được báo cáo.}
  • Jacobian hơn 0,7 {Tỷ lệ Jacobian là thước đo độ lệch của một phần tử đã cho từ một phần tử có hình dạng lý tưởng. Giá trị Jacobian nằm trong khoảng từ -1.0 đến 1.0, trong đó 1.0 đại diện cho một yếu tố có hình dạng hoàn hảo. Hình dạng lý tưởng cho một phần tử phụ thuộc vào loại phần tử.}
  • Các yếu tố Tria với góc từ 20 đến 120 độ
  • Các yếu tố tứ giác với góc giữa 45 và 135 độ
  • Duy trì chiều dài tối thiểu và tối đa
  • Kết nối phần tử
  • Ít hơn 10% phần tử tria trong lưới 2D
  • Các quy tắc phần tử 2D được định hướng theo cùng một hướng cho một phần cụ thể.
  • Sự sụp đổ Tết cho các phần tử tetra {Được xác định là khoảng cách của một nút từ mặt đối diện chia cho diện tích của mặt nhân với 1,24}

từ tất cả các lưới

  • Đánh số các nút và phần tử đúng trong phạm vi xác định
  • Độ lệch tối thiểu từ hình học và độ lệch được hỗ trợ bởi phán đoán kỹ thuật âm thanh.
  • Các kết nối đặc biệt giữa các loại khác nhau (1D / 2D / 3D) của các yếu tố được xác định đúng.

Tuy nhiên, tất cả các thông số chất lượng này có thể khác nhau tùy thuộc vào loại phân tích, độ chính xác cần thiết, hướng dẫn của công ty và chi phí tính toán.

Tại sao những thứ này không tự động:

Phân tích phần tử hữu hạn đòi hỏi một lưới chính xác để đưa ra kết quả chính xác. Tính chính xác này không thể được xác định với một vài tham số và thậm chí sau đó, chúng sẽ trái ngược nhau.

Một lần nữa cho các loại phân tích khác nhau, định nghĩa chất lượng lưới có thể khác nhau.

Vật liệu, hình học và tiếp xúc phi tuyến tính làm phức tạp thêm các yêu cầu trong khi xác định một lưới tốt.

Một rào cản ban đầu tôi đã quan sát thấy bằng cách sử dụng tính năng automesh là biểu diễn hình học không chính xác để duy trì chất lượng của lưới ở các khía cạnh khác. Cả hai đều quan trọng. Ngoài ra, việc biểu diễn hình học có thể được đơn giản hóa bằng các phán đoán kỹ thuật tốt, khó tự động hóa vì nó thay đổi theo từng trường hợp.

Ví dụ, Hypermesh là gói chia lưới thương mại rất phổ biến của Altair Engineering có ứng dụng Batchmesher thực hiện chia lưới cho bạn. Tuy nhiên, nó không duy trì độ lệch hình học phù hợp và kết nối giữa các phần tử cho các phần phức tạp.

tl; dr:

Đây là cách chia lưới được thực hiện một cách chuyên nghiệp

  • Quyết định loại lưới sẽ được sử dụng
  • Chia lưới các bộ phận bằng cách vá và đảm bảo kết nối thích hợp
  • Duy trì lưu lượng và đối xứng lưới
  • Làm tất cả các kiểm tra chất lượng và đảm bảo chất lượng
  • Đảm bảo kết nối thích hợp
  • Kiểm tra độ lệch hình học và khối lượng phần tử hữu hạn
  • Cung cấp mô hình cho các nhà phân tích, những người có thể một lần nữa nối lại các khu vực nhất định tùy thuộc vào các yêu cầu phân tích.

Tái bút: Tôi mới tham gia diễn đàn này và đây là một trong những câu trả lời đầu tiên của tôi mà tôi đã nỗ lực rất nhiều. Tôi thực sự sẽ đánh giá cao nếu tôi nhận được một số thông tin phản hồi. Tôi có một vài câu trả lời Quora về chia lưới và FEA trong đó những điểm này được giải thích chi tiết bằng đồ họa. [Phân tích phần tử hữu hạn thực tế]


1

(1) Nó có tự động một phần không?

Vâng, đúng vậy. Và nó có thể hoàn toàn tự động.

(2) Bạn có nên xác định các điểm và kết nối bằng tay trong một số trường hợp không?

Không, ngoại trừ trong một bài tập về nhà. Nhân tiện, nó được gọi là nút và phần tử.

(3) Các tiêu chí được sử dụng phổ biến nhất để đảm bảo lưới sẽ đáp ứng sự mong đợi của khách hàng là gì?

Đây có thể là một cuốn sách.

(4) Xu hướng là gì: chúng ta có nên hy vọng nó sẽ hoàn toàn tự động trong những năm tới không?

Vâng, nó đã tự động, nhưng vẫn cần cải thiện.


0

Chia lưới một cơ thể với hình tam giác 2D hoặc hình 3D có thể được thực hiện tự động nhưng các yếu tố này không cho kết quả tốt nhất: hình tứ giác và hình khối thường tốt hơn. Tuy nhiên, việc chia lưới một cơ thể hoàn toàn bằng quads / brick không thể được thực hiện tự động và bạn phải tự phân vùng nó thành các khối có thể được tự động hóa. Điều này không tầm thường.

Ngoài ra, một lưới phù hợp với phân tích nhiệt nói chung không phù hợp với phân tích rung động.

Phải nói rằng, việc chạy các phân tích với số lượng lớn các phần tử nhỏ không phải là vấn đề đã từng xảy ra và do đó, việc điều chỉnh lưới theo kiểu phân tích ít quan trọng hơn trước đây. Ngoài ra, phần tử tet được thiết kế bởi Burton và Clegg ( Các phần tử tứ diện cho mô phỏng đạn đạo rõ ràng ), dường như hoạt động tốt như một viên gạch, vì vậy điểm đầu tiên của tôi có thể ít quan trọng hơn nó.

Nói tóm lại, chia lưới tự động đã đi một chặng đường dài nhưng vẫn là chủ đề của nhiều nghiên cứu. Nó sẽ bao giờ hoàn toàn tự động? Tôi có xu hướng nghi ngờ nó. Ngay cả với việc tự động làm lại các khu vực có độ dốc trường cao, tôi nghĩ rằng một lựa chọn ban đầu tốt về lưới sẽ hữu ích.


0

Có, có các chương trình phần mềm chia lưới, cho phép chia lưới hoàn toàn tự động. Nếu bạn quan tâm đến việc chia lưới phẳng hoặc các bề mặt cong, có một số sản phẩm cung cấp chia lưới hoàn toàn tự động, cung cấp các lưới tứ giác 100% trên các bề mặt có độ phức tạp. Tôi khuyên bạn nên truy cập trang web sau và chọn một trong những chương trình phù hợp với nhu cầu của bạn càng gần càng tốt (một số chương trình đó là tốt nhất cho các ứng dụng kỹ thuật kết cấu, khác - để mô hình hóa các bảng mạch in, v.v.) http: / /members.ozemail.com.au/~comecau/products.htmlm

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.