Phân biệt PDE với phương pháp rothe và phương pháp đường (Thực hiện mô-đun)


8

Phương trình nhiệt được rời rạc trong không gian với FV (hoặc FEM) và thu được phương trình bán rời (hệ thống ODE). Cách tiếp cận này, được gọi là phương pháp của các dòng , cho phép dễ dàng chuyển đổi từ sự rời rạc tạm thời này sang cách khác, mà không cần sao chép mã. Đặc biệt, bạn có thể sử dụng lại bất kỳ nhà tích hợp thời gian nào cho ODE mà không cần nỗ lực nhiều. Điều này rất thuận tiện vì nếu bạn quyết định thay đổi sự rời rạc không gian của mình từ FV để nói FE, bạn vẫn nhận được một phương trình bán rời và các bộ tích hợp thời gian của bạn vẫn hoạt động.

Bây giờ tôi đang cố gắng thực hiện phương pháp rothe cho cùng một vấn đề. Tuy nhiên, việc rời rạc kịp thời trước tiên buộc tôi phải viết lại sự rời rạc về không gian cho mọi sơ đồ phân biệt thời gian mà tôi có thể muốn sử dụng. Điều này giúp loại bỏ việc tái sử dụng các nhà tích hợp thời gian mà tôi đã có trước đây và khiến việc viết phần mềm mô-đun có thể làm mất đi PDE bằng cách sử dụng cả phương pháp đường hoặc phương pháp của Rothe.

Có cách nào để thực hiện cả hai cách tiếp cận, mà không cần sao chép mã không?

Biên tập:

Trong các vấn đề đối lưu chi phối, sự phân biệt FE cần ổn định cả về thời gian và không gian, làm cho phương pháp của Rothe trở thành lựa chọn "tốt nhất". Tuy nhiên, đây không phải là trường hợp của phương pháp FV / DG.

Trong phương pháp đường, PDE được phân tách trước tiên trong không gian và sau đó là thời gian. Trong phương pháp của Rothe, PDE bị rời rạc trước tiên và sau đó trong không gian. Khả năng thứ ba là phân biệt đồng thời cả về không gian và thời gian (còn được gọi là sự phân biệt không gian - thời gian). Một cuộc thảo luận về phương pháp đường và phương pháp của Rothe có thể được tìm thấy ở đây . Để biết thêm thông tin, cuốn sách "Phương pháp phần tử hữu hạn cho các vấn đề dòng chảy" từ Donea và Huerta là một tài nguyên tốt.


@gnzlbg: Có lẽ bạn có thể bao gồm một hoặc hai tham chiếu đến các phương pháp bạn đang thảo luận? Đây là loại câu hỏi mà cộng đồng của chúng ta có xu hướng giỏi, vì vậy việc thiếu câu trả lời cho thấy chúng tôi không chắc chắn chính xác những gì bạn đang hỏi.
Aron Ahmadia

@AronAhmadia xong.
gnzlbg

2
Cảm ơn các thông tin bổ sung. Tôi không có câu trả lời, nhưng tôi tin rằng sự phản đối đối với phương pháp các dòng trên trang bạn đã liên kết bị nhầm lẫn. Chúng thực sự chỉ là sự phản đối đối với việc sử dụng sự phân biệt thời gian nhiều giai đoạn kết hợp với lưới không gian thích ứng động. Những lựa chọn đó độc lập với việc người ta sử dụng phương pháp đường hay phương pháp của Rothe. Trong phương pháp của các dòng, người ta có thể có được các sơ đồ bậc cao, một bước bằng cách sử dụng sự phân biệt thời gian Runge-Kutta.
David Ketcheson

@DavidKetcheson Vâng, tôi cũng không hoàn toàn đồng ý với các lập luận được đưa ra trong cuộc thảo luận. Tuy nhiên, phương pháp của Rothe thực sự tốt hơn cho sự phân biệt đối xử của FEM đối với các vấn đề chi phối đối lưu: tham số ổn định phụ thuộc vào cả bước thời gian, không gian và sự rời rạc theo thời gian được sử dụng. Sử dụng phương pháp đường tham số ổn định của bạn sẽ gặp khó khăn để nói ít nhất. Tuy nhiên, ưu và nhược điểm của từng phương pháp là cả một chủ đề, và người ta cũng sẽ phải xem xét các công thức không gian-thời gian.
gnzlbg

Vì @Wolfgang đã viết mô tả Phương pháp của Rothe mà bạn đã liên kết với tư cách là một phần của tài liệu cho thỏa thuận.II, tôi đã yêu cầu anh ấy thử và giải quyết câu trả lời của bạn.
Aron Ahmadia

Câu trả lời:


8

Tôi thực sự không có nhiều điều để nói hơn những gì tôi đã làm trên các trang bạn liên kết đến, nhưng đối với tôi, các đối số chính là như sau:

  • Trong nhiều vấn đề, người ta cần điều chỉnh lưới giữa các bước thời gian. Khung khái niệm để thực hiện điều này là phương pháp Rothe trong đó người ta có thể chọn phân tách không gian một cách độc lập ở mỗi bước trong khi phương pháp của một tiên nghiệm giả định rằng PDE được chuyển đổi thành một hệ thống ODE - không tương thích với điều chỉnh lưới.

  • Mặt khác, nếu bạn không muốn điều chỉnh lưới của mình, thì điều đó không thành vấn đề: trong hầu hết các trường hợp, nếu sự rời rạc về không gian sẽ giống nhau giữa các bước thời gian, thì bạn có muốn hay không trước tiên phải phân biệt trong không gian và sau đó sử dụng bộ tích hợp thời gian yêu thích của bạn hoặc theo cách khác - bạn sẽ đưa ra cùng một vấn đề riêng biệt để giải quyết trong mỗi bước. Trong những trường hợp như vậy, phương pháp Rothe và phương thức đường thẳng là như nhau.

  • Điều này mở rộng cho trường hợp bạn chỉ muốn điều chỉnh lưới mỗi lần: bạn có thể coi đây là phương pháp của các dòng được áp dụng cho một số bước thời gian, sau đó điều chỉnh lưới, sau đó thêm một bước các bước thời gian mà bạn áp dụng phương pháp đường. Hoặc bạn có thể nghĩ về điều này như là phương pháp Rothe nơi bạn chỉ tình cờ chỉ điều chỉnh lưới mỗi lần. Về cơ bản, nó sẽ đi ra cùng một sơ đồ số, chỉ là một quan điểm triết học khác.

Có thể đáng để thêm một điểm nữa: Trong thế giới ODE, người ta thường sử dụng các sơ đồ bậc cao với nhiều giai đoạn hoặc nhiều bước. Do đó, có một lợi ích đáng kể khi đóng gói các thuật toán này vào các gói mà bạn chỉ phải trao một hệ thống ODE bằng cách này hay cách khác. Mặt khác, đối với các PDE phụ thuộc thời gian, phần lớn thời gian người ta sử dụng các phương pháp bước thời gian khá đơn giản (ngoại trừ đáng chú ý của một số bộ giải hyperbol): ví dụ: Crank-Nicolson, BDF-2 hoặc chỉ các sơ đồ Euler tiến hoặc lùi . Đối với các nhà tích hợp thời gian đơn giản này, việc mã hóa việc tích hợp thời gian không quá khó khăn vì nó đơn giản hơn nhiều so với việc phân biệt không gian. Điều này có nghĩa là cái giá phải trả cho việc suy nghĩ theo phương pháp Rothe - không thể sử dụng gói bộ giải ODE - là một giá nhỏ, trong khi đó cái giá phải trả cho việc sử dụng phương pháp đường - không thể điều chỉnh lưới giữa các bước thời gian - là một mức lớn. Điều đó có thể giải thích tại sao hầu hết mọi người trong thế giới phần tử hữu hạn thích ứng thích suy nghĩ theo phương pháp Rothe.

Như một hệ quả tất yếu, và trở lại câu hỏi ban đầu: Thực sự rất khó trong phương pháp Rothe để đóng gói mọi thứ độc đáo theo cách hướng đối tượng. Tuy nhiên, (i) miễn là bạn gắn bó với một lớp tích hợp ODE duy nhất, tất nhiên bạn vẫn có thể lập bảng các hệ số của các giai đoạn khác nhau của tích phân trong một lớp và có mã tính toán chúng hoàn toàn được đóng gói; và (ii) thực tế là người ta thường sử dụng các bộ tích hợp thời gian tương đối đơn giản cho các PDE phụ thuộc thời gian có nghĩa là lượng mã cần thiết để thực hiện tích hợp thời gian thường nhỏ hơn rất nhiều so với lượng mã liên quan đến sự phân biệt không gian. Nói cách khác, tôi không biết làm cách nào để tách biệt không gian khỏi sự phân biệt thời gian bằng phương pháp Rothe, nhưng tôi không biết


1
"Câu trả lời" này mang nhiều ý kiến ​​- Tôi không thấy cách nó trả lời câu hỏi. Ngoài ra, trong phương pháp đường, nếu bạn sử dụng phương pháp một bước, sẽ không có gì sai khi có một bộ ODE khác nhau ở mỗi bước.
David Ketcheson

1
@WolfgangBangerth Phương pháp "Một bước" trái ngược với phương pháp nhiều bước. Các phương pháp Runge-Kutta, bao gồm các biến thể Rosenbrocks, DG-in-time và IMEX rất dễ sử dụng với khả năng thích ứng. Thiết kế các lược đồ tích hợp thời gian có thể tinh tế tương tự như sự phân biệt không gian, xem xét các đặc tính ổn định mạnh, kiểm soát lỗi nhúng trong đó các lược đồ nhúng có các đặc tính ổn định mong muốn, điều chỉnh với các thuộc tính mong muốn, nhắm mục tiêu các phần cụ thể của phổ, đạt được thứ tự giai đoạn mong muốn, bảo toàn hình học các thuộc tính, càng rẻ cho người giải quyết ngầm càng tốt, v.v.
Jed Brown

1
Tất nhiên bạn có thể làm điều này. Vấn đề với cách tiếp cận của bạn là bạn cần nội suy (hoặc dự án bằng cách nào đó) các giải pháp trên các lưới trước đó lên lưới mới. Điều này đưa ra một lỗi không chỉ là phép chiếu Galerkin và do đó, không dễ để phân tích - kết quả không chỉ đơn giản là sơ đồ Galerkin.
Wolfgang Bangerth

1
Mặt khác, nếu bạn rút ra một phương thức thông qua phương pháp Rothe, bạn sẽ nhận được PDE cho mỗi bước thời gian trong đó giải pháp của bước thời gian trước xuất hiện ở phía bên tay phải. Bằng cách rời rạc, bạn kiểm tra giải pháp trước đó với các chức năng kiểm tra trên lưới hiện tại. Điều này có thể được hiểu là một loại phép chiếu nào đó - nhưng nó không phải là phép chiếu L2 mà thay vào đó là một sự kết hợp có trọng số của phép chiếu L2 và H1 với trọng số tùy thuộc vào bước thời gian. Vì đó là sơ đồ Galerkin thuần túy, rất dễ phân tích và tôi sẽ mạo hiểm đoán rằng lỗi này nhỏ hơn theo cách này.
Wolfgang Bangerth

1
Bây giờ, như một điểm cuối cùng, dự đoán tốt nhất của tôi là nếu bạn chỉ thỉnh thoảng thay đổi lưới, nó sẽ không tạo ra nhiều sự khác biệt trong thực tế. Vì việc thử nghiệm một giải pháp trên một lưới với các chức năng kiểm tra từ một lưới khác là một nỗi đau, tôi luôn thực hiện phép nội suy này - không có quá nhiều vấn đề ;-)
Wolfgang Bangerth
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.