Chúng ta có nên luôn mong đợi các ô lỗi FEM là các đường thẳng không?


8

Các ước tính lỗi trong FEM thường có dạng

||uhu||Ch.

Lấy logarit ở cả hai phía, chúng ta có được

log||uhu||logC+logh.

Ước tính này ngụ ý rằng lỗi nằm dưới đường thẳng được cung cấp bởi logy=logC+logh trong thang đo log-log. Ước tính này không nói rằng biểu đồ lỗi liên quan đến h phải là một đường thẳng, chỉ có điều nó phải nằm dưới một đường thẳng.

Vậy thì, tại sao hầu hết các lô lỗi được xuất bản trên các tạp chí đều hiển thị một đường thẳng rất sắc nét cho lỗi? Tôi sẽ biết ơn về một số hiểu biết sâu sắc về câu hỏi này, vì tôi là người mới làm quen với máy tính khoa học.

Cụ thể, một số tính toán mà tôi đã thực hiện trên FEniCS cho thấy các ô lỗi không phải là đường thẳng, tuy nhiên biểu đồ nằm dưới một đường thẳng. Liệu một người giải quyết tuyến tính cụ thể ảnh hưởng đến hành vi như vậy? Tôi đang sử dụng quai tuyến tính giải.

Chỉnh sửa: Trong hình bên dưới, kết quả lý thuyết cho thấy lỗi (được vẽ trên trục y) sẽ phân rã thành 1/R trong đó R được vẽ trên trục x. Hình thứ hai là trong thang đo log-log.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


Nếu bạn thực hiện một phương thức hội tụ với thứ tự N đa thức trong kích thước mắt lưới (và thực hiện chính xác), đó là điều bạn nên mong đợi.
Paul

2
Đánh giá từ các ô, có vẻ như bạn không tinh chỉnh lưới nhưng tạo ra một lưới mới với kích thước khác nhau mỗi lần, điều đó có đúng không?
nicoguaro

@nicoguaro Vâng, đây là sự thật. Tôi đang tạo ra một lưới mới mỗi lần.
Tanuj Dipshikha

Bạn đã thử tinh chỉnh lưới thay vào đó, chia 4 lần mỗi phần tử, giả sử đó là sự cố 2D.
nicoguaro

1
103a(v,v)h

Câu trả lời:


3

Mặc dù tôi không thể nhận xét trường hợp cụ thể của bạn vì bạn không cung cấp đủ chi tiết, tôi có thể đưa ra một số hướng dẫn về vấn đề này vì tôi đã dành vài năm trong cuộc đời để cố gắng làm cho các biểu đồ hội tụ này trông đẹp nhất có thể. Tôi chỉ làm việc với các vấn đề hình elip và yên xe và hướng dẫn có lẽ không áp dụng cho các vấn đề parabol và hyperbolic.

Một điều cần phải rõ ràng từ các ý kiến: không có lý do gì để các biểu đồ luôn trông giống như các đường thẳng nếu bạn có giới hạn trên cho lỗi.

Một điều khác cần nhận ra là các ước tính lỗi như vậy thường được thỏa mãn bởi một số vấn đề chung trong đó ranh giới và tải dữ liệu được chỉ định là một thành phần của không gian Sobolev. Do đó, trong thực tế có rất nhiều vấn đề với các tải trọng, điều kiện biên khác nhau, v.v ... thỏa mãn cùng một ước tính, điển hình với một hằng số khác nhau. Khi được giải quyết bằng số trên một chuỗi các mắt lưới, chỉ một số vấn đề ở gần đủ giới hạn tiệm cận, như được định nghĩa bởi ước tính đối với các đồ thị trông tuyến tính .

hh0

Nhân tạo làm cho phạm vi preasymptotic càng nhỏ càng tốt và tìm ra các vấn đề chủ yếu ở gần giới hạn tiệm cận là một nghệ thuật hơn là một khoa học. Dưới đây là một số lời khuyên:

  • sin(x)h<<π
  • Hãy chắc chắn rằng không có điểm kỳ dị nào ngoài những điểm bạn thích học.
  • L2
  • Hãy chắc chắn rằng chuỗi các lưới được lồng vào nhau. Điều này thường sẽ cải thiện tính đơn điệu của biểu đồ: lưới tiếp theo phải luôn tốt hơn lưới trước.
  • Đảm bảo bạn sử dụng quy tắc tích hợp đủ cao khi đánh giá lỗi. Tôi đã mắc lỗi này hơn một lần và phải mất một thời gian để nhận ra vấn đề ở đâu.
  • Không sử dụng các điểm tích hợp nằm trên ranh giới phần tử nếu bạn có dữ liệu không liên tục trên ranh giới phần tử. Tôi cũng đã mắc lỗi này một lần và phải mất một thời gian để gỡ lỗi.

Nói chung, tôi nghĩ rằng các ước tính lỗi sẽ hữu ích hơn khi kiểm tra xem mã phần tử hữu hạn mới được triển khai của bạn có hoạt động chính xác và không hữu ích cho các vấn đề được áp dụng trong đó dữ liệu và các điều kiện biên không nhất thiết đủ tốt để bạn có được biểu đồ hội tụ tuyến tính.

Nếu bạn cung cấp thêm chi tiết về vấn đề trong tay, tôi nghĩ rằng tôi có thể cung cấp các mẹo cụ thể hơn. Tuy nhiên, tôi nghĩ những lời khuyên này sẽ giúp bạn bắt đầu tìm ra vấn đề.

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.