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

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

    Tôi cũng đang vướng vào cái tính toán ma trận đó và nó làm đình trệ tất cả những cái khác mà tôi đang làm. Thông tin của Casanova rất quí. Nếu được, chúng ta có thể cùng "đầu tư" cái code đó được không?

    Ghi chú


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

      to Casanova: ngay cả các cách storage sparse matrix vẫn có thể dẫn đến out-of-core chứ bác ? vì capacity của bộ nhớ động không thể vô cùng được. Hạn chế của chương trình của bac hien_nghiem tôi nghĩ cũng phụ thuộc vào độ lớn của bộ nhớ của bộ nhớ động thôi, chứ nếu chỉ vì giới hạn của biến integer thì khắc phục chắc cũng dễ thôi phải không ạ.

      Bác nào giảng cho tôi biết Delphi thì có ưu điểm gì so với với C++ hay Fortran thế ? Tôi chưa dùng cái ngôn ngữ này bao giờ mà thấy nhiều bác nói đến quá.

      to HoangLinh: Nếu bác thích dùng matlab thì thôi thấy có cái OpenFem có vẻ hay phết đấy.
      Does engineering need science?

      Ghi chú


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

        Phu Ho: Trước đây tôi đã định khắc phục hạn chế của chương trình bằng cách sử dụng biến kiểu tự định nghĩa để có thể lấy giá trị lớn hơn giá trị max của kiểu integer, nhưng khi thử cho vào chỉ số mảng (a^[i]:=b, i là biến kiểu tự định nghĩa) thì a^[i] không nhận giá trị b mà nhận 1 giá trị bất kỳ. Tôi đã không tìm được phương pháp nào sử lý cả.
        Trong chương trình của tôi, tôi phải phân đoạn ma trận độ cứng theo giá trị bộ nhớ động cho phép và giá trị max của biến integer (thường là giá trị của bộ nhớ động cho phép).
        Bạn có phương pháp nào hay hơn không?
        Delphi:
        Về mặt ngôn ngữ thì Delphi chính là Object Pascal.
        Về thiết kế giao diện thì Delphi gần giống với Visual Basic.
        Theo 1 tài liệu hướng dẫn học Delphi, họ so sánh Delphi và C++ như sau:
        Delphi tạo ra các đoạn mã thi hành hiệu quả hoàn toàn tương đương với các trình biên dịch C.
        Pascal của Borland luôn dẫn đầu về tốc độ biên dịch sản sinh ra mã thi hành. Chương trình biên dịch Delphi sẽ thực hiện việc biên dịch nhanh hơn C gấp nhiều lần. So với Delphi chuẩn, C biên dịch chậm hơn.
        Trong Delphi có đầy đủ các cú pháp ngôn ngữ cũng như các kiểu dữ liệu mà C có nhưng đơn giản và dễ dùng hơn.
        Delphi cũng hỗ trợ hòan chỉnh tập lệnh có thể so sánh được với C và C++. Delphi có đầy đủ khả năng để tạo ra các ứng dụng phức tạp.
        Delphi có thể tạo ra DLL nhanh và đơn giản hơn rất nhiều so với C. Window API hoàn toàn có thể được dùng trong các ứng dụng của Delphi.
        Delphi không chỉ là công cụ hoàn hảo để tạo ra các dự án lớn mà nó còn xây dựng phong cách làm việc nhóm cho dự án.
        Delphi và Visual Basic:
        Visual Basic và Delphi rất giống nhau về cách xây dựng ứng dụng. Cả hai đều là công cụ phát triển ứng dụng trực quan. VB là trình thông dịch dựa trên ngôn ngữ chuẩn là BASIC, trong khi Delphi là trình biên dịch dựa trên ngôn ngữ chuẩn là Object Pascal.
        Và một số so sánh ưu nhược điểm của Delphi với VB nhưng dài quá tôi không trình bày thêm.
        Một số ứng dụng trong ngành được lập trình từ Delphi:
        Bộ phần mềm Plaxis: Plaxis, 3D Tunnel...
        Một số phần mềm kết cấu của CIC.
        Phần mềm kết cấu của Đại học Bách khoa TP HCM (hình như anh casanova là 1 trong những tác giả)
        Và phần mềm của tôi viết (tôi sẽ post lên sau vì hiện tại đang hoàn chỉnh phiên bản mới)
        Nếu ai có thêm ví dụ về phần mềm lập trình bằng Delphi mà nhiều người biết thì bổ sung hộ tôi với nhé.
        Xin cảm ơn!
        Hiến Nghiêm

        Ghi chú


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

          Ưu điểm và cũng là nhược điểm của Delphi là nó hỗ trợ các đối đượng đóng gói sẵn là VCL, rất tiện dụng. Nhưng đồng thời nó lại làm cho dung lượng file lớn (vì không thừa hưởng các thư viện của Mircrosoft).

          Tôi cũng là một fan của Delphi, và đang xây dựng một hệ thống phân tích kết cấu cầu. Nhờ các bác giúp đỡ.

          Ghi chú


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

            thanks hien_nghiem và tnlinh. Thế Delphi biên dịch nhanh thế nhưng tốc độ tinh toán nó có nhanh không các bác ?

            Bác hien_nghiem, thế các biến kiểu long integer không dùng cho mảng được hở bác ?
            Does engineering need science?

            Ghi chú


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

              To Phu Ho: Denphi chạy nhanh như C++. Tôi đã thử bằng việc giải một hệ phương trình với vài chục nghìn ẩn và thấy thời gian giải là như nhau.
              Trong Delphi có kiểu longword dài gấp đôi integer dùng được nhưng vẫn hạn chế. Kiểu int64 dài 2^64 thì lại không dùng làm chỉ số mảng được.
              Cảm ơn bạn nhiều nhé. Bạn thử dùng Delphi xem thế nào. Tôi nghĩ thời thực hiện dự án của bạn sẽ nhanh hơn so với C++ hoặc Fortran.

              Hiến Nghiêm
              Last edited by hien nghiem; 18-04-2005, 11:16 PM.

              Ghi chú


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

                Nguyên văn bởi hien nghiem
                To Phu Ho: Denphi chạy nhanh như C++. Tôi đã thử bằng việc giải một hệ phương trình với vài chục nghìn ẩn và thấy thời gian giải là như nhau.
                Trong Delphi có kiểu longword dài gấp đôi integer dùng được nhưng vẫn hạn chế. Kiểu int64 dài 2^64 thì lại không dùng làm chỉ số mảng được.
                Cảm ơn bạn nhiều nhé. Bạn thử dùng Delphi xem thế nào. Tôi nghĩ thời thực hiện dự án của bạn sẽ nhanh hơn so với C++ hoặc Fortran.

                Hiến Nghiêm
                thanks bác Hien Nghiem, tôi hỏi để thêm hiểu biết thôi. Chứ tôi thì vẫn quen dùng Fortran cổ điển thôi. Bây giờ lại xoay sang dùng ngôn ngữ khác ngại lắm bác ạ
                Does engineering need science?

                Ghi chú


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

                  Nguyên văn bởi hien nghiem
                  To Phu Ho: Denphi chạy nhanh như C++. Tôi đã thử bằng việc giải một hệ phương trình với vài chục nghìn ẩn và thấy thời gian giải là như nhau.
                  Trong Delphi có kiểu longword dài gấp đôi integer dùng được nhưng vẫn hạn chế. Kiểu int64 dài 2^64 thì lại không dùng làm chỉ số mảng được.
                  Cảm ơn bạn nhiều nhé. Bạn thử dùng Delphi xem thế nào. Tôi nghĩ thời thực hiện dự án của bạn sẽ nhanh hơn so với C++ hoặc Fortran.

                  Hiến Nghiêm
                  Delphi là version 4GL của Pascal, cả 3 Pascal, C và Fortran đều chạy nhanh (khó nói cái nào hơn cái nào). Nhưng Fortran vẫn chuyên môn vê phép tính ma-trận (matrix), nó đã có những hàm mat[]. Dùng một hàm có sẵn vẫn hơn là viết ra một function vì hàm có sẵn chạy nhanh hơn nhiều.
                  Phương-pháp phần tử hữu-hạn là một phương-pháp đã được dùng nhiêu cho giới khoa học, viết bằng fortran từ lâu lắm rồi.

                  Ghi chú


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

                    Các bác lập trình Delphi cho tôi hỏi làm cách nào redraw một hình vẽ trên canvas của form? thanks.

                    Ghi chú


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

                      Hi,

                      Muốn cho chương trình tự động vẽ lại hình sau một sự kiện nào đó thì các lệnh vẽ trên canvas phải đặt trong event OnPaint. Ví dụ khi dùng thủ tục sau thì dòng chữ viết trong thủ tục FormPaint( gắn với tình huống OnPaint) sẽ được vẽ lại sau mỗi tình huống còn dòng chữ trong thủ tục thứ 2 sẽ không được vẽ lại.

                      procedure TForm1.FormPaint(Sender: TObject);
                      begin
                      Form1.Canvas.TextOut(100,100,'Hello World!');
                      end;

                      procedure TForm1.Button1Click(Sender: TObject);
                      begin
                      Form1.Canvas.TextOut(200,200,'Hello World!');
                      end;

                      Ghi chú


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

                        Thấy các bạn thảo luận sôi nổi về PTHH, tôi thấy có trang Web sau, rất hay đối với những ai nghiên cứu về động đất. Theo tôi được biết có rất nhiều nghiên cứu sinh ở Mỹ và Châu âu sử dụng mã nguồn mở này để ứng dụng cho các tính toán mới trong luận án TS của mình. http://opensees.berkeley.edu/
                        Chúc các bạn thành công !

                        Ghi chú


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

                          Nguyên văn bởi Ihouse
                          Hi,

                          Muốn cho chương trình tự động vẽ lại hình sau một sự kiện nào đó thì các lệnh vẽ trên canvas phải đặt trong event OnPaint. Ví dụ khi dùng thủ tục sau thì dòng chữ viết trong thủ tục FormPaint( gắn với tình huống OnPaint) sẽ được vẽ lại sau mỗi tình huống còn dòng chữ trong thủ tục thứ 2 sẽ không được vẽ lại.

                          procedure TForm1.FormPaint(Sender: TObject);
                          begin
                          Form1.Canvas.TextOut(100,100,'Hello World!');
                          end;

                          procedure TForm1.Button1Click(Sender: TObject);
                          begin
                          Form1.Canvas.TextOut(200,200,'Hello World!');
                          end;

                          Đúng rồi, vẽ trên Form.canvas nhanh hơn trên Image.canvas. Tuy nhiên, vẽ trên Image thì không bận tâm đến redraw. Thanks nhé.

                          Ghi chú


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

                            Nguyên văn bởi tal
                            t@l có file pdf của cuốn Finite Element Procedures (Klaus-Jurgen Bathe ), bác nào cần thì mật thư, t@l gữi cho. Sách này viết hay, cụ thể và rỏ ràng ! nhưng dày lắm nhé (1050 pages)

                            Còn ba quyển của tổ sư C. Zienkiewicz thì có thể lên www.knovel.com download về, nhưng không khuyến khích đọc nếu chỉ học FEM để ứng dụng t@l có nhưng chưa đọc trang nào !



                            Cuốn này cũng hay nhưng hơi củ, khéo phải đến 20 năm rồi (em nhớ ông giáo của em đem lên lớp dạy mà cái bìa nó tơi ra từng mảng rồi , thế mà vẫn dùng ) !

                            Ở đây t@l giới thiệu thêm cuốn
                            Fundamentals of Finite Element Analysis, David V. Hutton, McGRAW-HILL (2003)

                            Cho dân ứng dụng thì bắt đầu bằng quyển này cũng hay !

                            t@l
                            phiền bác Tal gửi cho mình file pdf cuốn finite element procedures với. Địa chỉ của mình là niceface5552000@yahoo.com. Cám ơn bác nhiều!

                            Ghi chú


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

                              Nguyên văn bởi tal
                              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
                              Anh T@l ơi ! Anh có cuốn sách nào nói về vấn đề matrix không!? Thực ra em cũng biết những phép toán cơ bản của matran.(Vì ai đã học toán cao cấp thì cũng đều phải làm quen).
                              Cám ơn anh nha!
                              Last edited by htuan; 03-05-2005, 08:11 PM.
                              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ú


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

                                htuan ơi! Thiêu mất 1 chữ e rồi nên chịu "marquee" chứ ko phải "marque"
                                Nhân trong chủ đề này, mình xin đố các bạn vưa mới làm quen PP FEM :
                                " Sự khác nhau giữa PP cực tiểu thế năng và số dư trọng lượng".
                                Chờ các bạn!

                                Ghi chú

                                Working...
                                X