2013-01-04 27 views
5

Xin chào Tôi hiện đang COMSOL để tính toán Truyền nhiệt theo thời gian trong 2D và tôi đang tìm kiếm một thư viện để làm điều đó trong C++. Sự kết hợp của libMesh và Gmsh có phải là lựa chọn tốt nhất không?Thư viện phần tử hữu hạn để truyền nhiệt 2D

Nó sẽ thực sự hữu ích, nếu bạn có thể xin vui lòng cũng cung cấp một ví dụ về một hoạt động như vậy trên thư viện được đề xuất? Tôi sử dụng phương trình Fourier.

Cảm ơn bạn trước

Trả lời

3

Tôi nghĩ rằng có rất nhiều thư viện như vậy!

Lựa chọn ưa thích của tôi sẽ là Dealii (http://www.dealii.org/) được viết rất tốt, có rất nhiều ví dụ và rất linh hoạt. Nếu truyền nhiệt 2D chỉ là những gì bạn cần, tôi nghĩ rằng đây là thư viện phù hợp.

Nếu không, bạn có thể xem Dune (http://www.dune-project.org/dune.html), LibMesh (http://libmesh.sourceforge.net) như bạn đã đề xuất, GetFem++ và vì vậy và vân vân. Ngoài ra còn có một vài thư viện cho phép bạn viết các hình thức yếu của vấn đề của bạn, ví dụ Feel ++ (http://www.feelpp.org/) hoặc LifeV (http://www.lifev.org). (Tôi đoán có những người khác, nhưng đây là những người tôi biết).

Tùy thuộc vào thư viện, bạn cần một công cụ bên ngoài cho lưới và Gmsh bật (tốt) của chúng.

+0

Cảm ơn bạn rất nhiều cho câu trả lời của bạn là có một công cụ lưới mà bạn sẽ đề nghị cho dealii? Và bạn có bất kỳ ví dụ nào về truyền nhiệt 2D không? –

+1

Tôi đã luôn luôn sử dụng Gmsh, vì vậy tôi không thể đưa ra nhiều lời khuyên cho điều đó. DealII cung cấp danh sách ở đây: http://www.dealii.org/7.2.0/doxygen/deal.II/classGridIn.html. Nhưng DealII đã khá giỏi trong việc tự sản xuất mắt lưới (cho hình học đơn giản). Nhân tiện, nếu bạn cần một phần mềm hậu xử lý, tôi khuyên bạn nên paraview! –

+0

Hoàn hảo! Bạn thật tốt bụng! Ngày cuối cùng là có bất kỳ ví dụ với dẫn nhiệt 2d vì không có trường hợp tương tự trong các bước ví dụ. –

Các vấn đề liên quan