QUẢNG CÁO ĐẦU TRANG

Collapse

Thông báo

Collapse
No announcement yet.

Phuong Phap Phan Tu Hư Han (finite - Element Method)

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

    htuan: Một chương trình PTHH bản thân nó bao gồm các module khá độc lập. Nên nếu bạn mới bắt đầu, tôi nghĩ bạn nên bắt đầu với ma trận vuông, các việc stokage theo band hay theo gì gì thì cứ để sau. Làm được một chương trình ra kết quả chính xác đã. Rồi tiếp tục add thêm phần stokage sau thì hơn. Nếu không sẽ rất dễ rối tinh rối mù lên. (Kinh nghiệm của bản thân tôi là như thế).

    Chúc thành công,
    Does engineering need science?

    Ghi chú


    • #32
      Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

      Nguyên văn bởi htuan
      Thực ra em cũng là người mới bắt đầu tìm hiểu về phương pháp này, mặc dù đã biết là nó có từ lâu. Phần ma trận chuyển của em chính là ma trận Choslesky ( không biết có đúng không?! ),còn phần xử lí điều kiện biên thì chắc là em sẽ đọc thuật toán.Hiện giờ em đang định làm bằng máy tính. Thầy giáo em bảo về xây dựng trước các lớp ma trận và cách chuyển thành các ma trận băng trên hoặc dưới.Sau khi xử lí điều kiện biên xong thì sẽ tính chuyển vị và những thứ khác. Cái này em cũng đang cố đọc để hiểu xem như thế nào. hi`hi`
      Em đã dơwn được các file của anh casanova roi. Rất cám ơn các anh đã chỉ bảo. Em sẽ về nghiên cứu tiếp, có gì khúc mắc thì em sẽ hỏi nữa nhé!
      Chúc các anh khoẻ và làm việc tốt.
      Goi HTuan,
      Trong cái file của mình đã upload lên, ma trận chính của hệ được lưu ở dạng skyline, và được giải bằng phương pháp Choslesky để tìm chuyển vị (chỉ ở những vị trí không khống chế điều kiện biên). Theo tôi nến bạn mới tập viết thì nên tìm bộ thư viện MTXVEC để làm (http://www.dewresearch.com), bộ thư viện này khá hay và rất bổ ích.

      Chúc Thành công.

      Ghi chú


      • #33
        Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

        to casanova:
        Vâng em cũng thấy anh viết procedure lưu dưới dạng skyline. Hiện giờ em vẫn đang tiếp tục xem tiếp. Còn mấy cái chương trình kia thì được viết bằng fortran đúng không ạ? Em sẽ cố gắng nghiên cứu vì có những từ mà em mới gặp phải kiếm từ điển tra hi`hi` trình độ tiếng Anh của em thì cũng không kém lắm nhưng mà đọc chủ yếu là thuật toán.
        To phu ho :
        Cám ơn lời khuyên của anh,đúng là lúc đầu thì nên bắt đầu từ các ma trận vuông.
        Khi nào hiểu thuật toán thì viết chương trình dễ hơn thế nên em đang đầu tư vào phần lí thuyết. Khi nào em xong chương trình thì các anh kiểm tra hộ nhé.
        Rất cám ơn các anh!
        Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

        Ghi chú


        • #34
          Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

          Em vào http://www.mtxvec.com mà nó báo là không Not Found. Không biết là có nhầm chỗ nào không ạ?
          Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

          Ghi chú


          • #35
            Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

            Tôi thấy quyển này cũng rất hay, có cả bản dịch tiếng Việt từ năm 1997.
            Programming the Finite Element Method, Third Edition. I. M. Smith, D. V. Griffiths. John Wiley & Son 1998

            Ghi chú


            • #36
              Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

              bác ơi nếu bác có thì có thể cho em tham khảo với được không ạ!? Mà chắc là cũng phải lâu lâu nữa em mới có thể động được vào quyển đấy. Có gì bác mail cho em nhé darkeyesuce@gmail.com
              Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

              Ghi chú


              • #37
                Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                Nguyên văn bởi hien nghiem
                Tôi thấy quyển này cũng rất hay, có cả bản dịch tiếng Việt từ năm 1997.
                Programming the Finite Element Method, Third Edition. I. M. Smith, D. V. Griffiths. John Wiley & Son 1998
                Hi htuan,

                đây có quyển sách giới thiệu ở trên nhưng chỉ là 2nd edition thôi, nếu bạn muốn thì load về đọc thử xem.

                Không biết htuan dùng ngôn ngữ gì nhỉ để lập trình nhỉ? Nếu là C++ thì cài thử matlab version < 6.5 thử xem, trong đấy có thư viện toán MATLAB C++ Math Library, các thao tác trên ma trân chắc là thư viện này cũng đủ dùng rồi.

                Vậy nhé ! Chúc thành công, lập trình PTHH không dễ đâu nhỉ ?
                t@l

                Ghi chú


                • #38
                  Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                  Nguyên văn bởi htuan
                  Em vào http://www.mtxvec.com mà nó báo là không Not Found. Không biết là có nhầm chỗ nào không ạ?

                  Sorry: Trang web do la http://www.Dewresearch.com

                  Ghi chú


                  • #39
                    Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                    Xin góp thêm vài trang dùng Matlab lập trình FEM :
                    Các bạn mới làm quen nên dùng CALFEM, rất nhanh và lợi hại. trong trang web trên có sẵn ebook và thư viện các file module như anh PhuHo nói. Chúc thành các bạn thành công !

                    CALFEM

                    MATLAB FEM
                    Last edited by HoangLinh; 14-04-2005, 02:58 PM.

                    Ghi chú


                    • #40
                      Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                      Nguyên văn bởi Ho Tri
                      Chao cac bac, Em dang lap trinh ve phan tu huu han, noi chung no rat hay nhung con 1 van de lon ma em chua giai quyet duoc la lam sao giai duoc he phuong trinh tuyen tinh neu so an that lon(khoang 50.000 an chang han.
                      Bac nao biet cach thi chi ho em nhe
                      Tôi lập trình phần tử hữu hạn bằng Delphi, sử dụng phương pháp Cholesky để giải hệ phương trình tuyến tính. Ma trận độ cứng được lưu trữ dưới dạng skyline. Nếu theo cách thông thường là lưu trữ toàn bộ ma trận độ cứng vào bộ nhớ thì tôi thấy giải được khoảng 60000 phương trình (tất nhiên có thể hơn vì nó phụ thuộc vào dạng kết cấu, số phần tử quy tụ tại 1 nút...) vì giá trị maximum của kiểu biến integer đếm số thứ tự phần tử của ma trận độ cứng có giới hạn nên không thể lưu trữ nhiều hơn. Muốn giải được nhiều hơn nữa có thể lưu trữ ma trận độ cứng ra đĩa sau đó giải từng phần. Lúc đó, tôi cũng không biết là giới hạn của số phương trình là bao nhiêu (phụ thuộc vào kích thước trống của đĩa cứng và một số yếu tố khác nữa).
                      Những gì tôi viết trên đây là những gì tôi đã làm. Hy vọng bạn cũng se thành công
                      Hiến Nghiêm

                      Ghi chú


                      • #41
                        Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                        "Không biết htuan dùng ngôn ngữ gì nhỉ để lập trình nhỉ? Nếu là C++ thì cài thử matlab version < 6.5 thử xem, trong đấy có thư viện toán MATLAB C++ Math Library, các thao tác trên ma trân chắc là thư viện này cũng đủ dùng rồi. "
                        Vâng em đang dùng C++ để lập trình và tiến tới là dùng Visual C ++. Rất cám ơn bác đã chỉ bảo.
                        Nếu bác có thuật toán lưu ma trận độ cứng dưới dạng ma trận băng 1/2 tam giác trên hoặc dưới thì làm ơn chỉ cho em được không a. Còn lưu dưới dạng Skyline thì mọi người đều đã biết rồi ạ. Ở đây em chỉ muốn tham khao thêm thôi hìhi`.
                        Công nhận cái món Pthh này khoai thật , em trình độ có hạn đọc mãi mà vẫn thấy nó khó qúa. :P
                        Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

                        Ghi chú


                        • #42
                          Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                          Nguyên văn bởi htuan
                          "Không biết htuan dùng ngôn ngữ gì nhỉ để lập trình nhỉ? Nếu là C++ thì cài thử matlab version < 6.5 thử xem, trong đấy có thư viện toán MATLAB C++ Math Library, các thao tác trên ma trân chắc là thư viện này cũng đủ dùng rồi. "
                          Vâng em đang dùng C++ để lập trình và tiến tới là dùng Visual C ++. Rất cám ơn bác đã chỉ bảo.
                          Nếu bác có thuật toán lưu ma trận độ cứng dưới dạng ma trận băng 1/2 tam giác trên hoặc dưới thì làm ơn chỉ cho em được không a. Còn lưu dưới dạng Skyline thì mọi người đều đã biết rồi ạ. Ở đây em chỉ muốn tham khao thêm thôi hìhi`.
                          Công nhận cái món Pthh này khoai thật , em trình độ có hạn đọc mãi mà vẫn thấy nó khó qúa. :P
                          Hi htuan,

                          Chuện phân rã ma trân đâu còn mới, htuan nên kiếm một quyển sách nào đấy dạy về matrix trước khi làm PTHH, như thế tốt hơn. Không cần phải nhanh đâu, chậm mà chắc bạn ạ, bằng không, sau này bạn cứ chắp vá kiến thức, vừa mất thời gian vừa không "chuyên nghiệp". Mình khuyên thật tình dựa trên kinh nghiệm của mình đấy !

                          Còn ma trận tam giác trên, dưới, nếu htuan dùng MATLAB C++ Math Library, thì có sẳn hàm, chỉ cần LU một phát là có ngay kế qua Khỏi quan tâm đến nó làm thế nào, chỉ cần biết dùng thôi là đủ


                          t@l
                          Last edited by tal; 21-04-2005, 10:26 PM.

                          Ghi chú


                          • #43
                            Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                            Cảm ơn anh đã chỉ dùm
                            Em cũng đang lập trình bằng Delphi, cũng sử dụng ma trận băng và PP Cholesky để giải hệ tuyến tính. Nhưng em thấy nếu tính toán như thế thì thời gian giải sẽ rất lâu, không như các phần mềm hiện đại
                            Nếu anh biết thêm cách giải gì mới thì xin anh bảo hộ em nhé
                            Xin cảm ơn.

                            Ghi chú


                            • #44
                              Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                              Nguyên văn bởi hien nghiem
                              Tôi lập trình phần tử hữu hạn bằng Delphi, sử dụng phương pháp Cholesky để giải hệ phương trình tuyến tính. Ma trận độ cứng được lưu trữ dưới dạng skyline. Nếu theo cách thông thường là lưu trữ toàn bộ ma trận độ cứng vào bộ nhớ thì tôi thấy giải được khoảng 60000 phương trình (tất nhiên có thể hơn vì nó phụ thuộc vào dạng kết cấu, số phần tử quy tụ tại 1 nút...) vì giá trị maximum của kiểu biến integer đếm số thứ tự phần tử của ma trận độ cứng có giới hạn nên không thể lưu trữ nhiều hơn. Muốn giải được nhiều hơn nữa có thể lưu trữ ma trận độ cứng ra đĩa sau đó giải từng phần. Lúc đó, tôi cũng không biết là giới hạn của số phương trình là bao nhiêu (phụ thuộc vào kích thước trống của đĩa cứng và một số yếu tố khác nữa).
                              Những gì tôi viết trên đây là những gì tôi đã làm. Hy vọng bạn cũng se thành công
                              Hiến Nghiêm
                              To Hiến Nghiêm:
                              Cách mà bạn nói đên là block skyline (ma trận được lưu ở dạng khối-block matrix), trước đây người đa hay dùng cách này để lưu trữ cho ma trận lớn (our of core), cách trên rất có hiệu quả khi kết kợp với việc tối ưu hóa đánh số nút cho lưới PTHH.

                              Hiện nay người ta đang dùng cách chỉ lưu trữ các phần tử khác zero trong mà trận mà thôi (sparse matrix). trên net có khá nhiều các open source lib. về cái này (lapack, blas..., spooles). Bộ giải Mtxvec mà tôi đã nó ở bài trước cũng rất hiệu quả nó viết ở dạng component cho delphi va C++ Builder, ngoài ra nó tích hợp luôn cả bộ Intel MKL. Bộ này được tối ưu hóa cho từng loại CPU, nếu bạn dùng Intel hay AMD đều có thư viện riêng. Theo tôi nếu có nhiều người là thì cùng nhau góp tiền lại mua (khoảng >200-300USD). Hiệu quả của mua cao hơn nhiều so với mình tự viết, bởi vì trong đó có rất nhiều các phép toán liên quan đến ma trận và vector.

                              Trang web tham khảo : www.netlib.org (rất hữu ích)

                              Casanova

                              Ghi chú


                              • #45
                                Ðề: Phuong Phap Phan Tu Hư Han (finite - Element Method)

                                Nguyên văn bởi casanovavn
                                To Hiến Nghiêm:
                                Cách mà bạn nói đên là block skyline (ma trận được lưu ở dạng khối-block matrix), trước đây người đa hay dùng cách này để lưu trữ cho ma trận lớn (our of core), cách trên rất có hiệu quả khi kết kợp với việc tối ưu hóa đánh số nút cho lưới PTHH.

                                Hiện nay người ta đang dùng cách chỉ lưu trữ các phần tử khác zero trong mà trận mà thôi (sparse matrix). trên net có khá nhiều các open source lib. về cái này (lapack, blas..., spooles). Bộ giải Mtxvec mà tôi đã nó ở bài trước cũng rất hiệu quả nó viết ở dạng component cho delphi va C++ Builder, ngoài ra nó tích hợp luôn cả bộ Intel MKL. Bộ này được tối ưu hóa cho từng loại CPU, nếu bạn dùng Intel hay AMD đều có thư viện riêng. Theo tôi nếu có nhiều người là thì cùng nhau góp tiền lại mua (khoảng >200-300USD). Hiệu quả của mua cao hơn nhiều so với mình tự viết, bởi vì trong đó có rất nhiều các phép toán liên quan đến ma trận và vector.

                                Trang web tham khảo : www.netlib.org (rất hữu ích)

                                Casanova
                                Cảm ơn Casanova đã cung cấp những thông tin hữu ích để tôi có thể nâng cao khả năng phần mềm của tôi. Rất mong được trao đổi với bạn những thông tin bổ ích khác.

                                Ghi chú

                                Working...
                                X