Phương pháp số cho OD OD không liên tục


15

các phương pháp nghệ thuật cho giải pháp số của ODE với bên phải không liên tục là gì? Tôi chủ yếu quan tâm đến các chức năng bên phải mượt mà, ví dụ như dấu hiệu.

Tôi đang cố gắng giải phương trình của một loại sau:

x˙= =vv˙= ={(|Fbên ngoài|-|Fma sát|)ký tên(Fbên ngoài):|Fbên ngoài|<|Fma sát|0:nếu không thì

Xin chào @AndreyShevlyakov và chào mừng bạn đến với Scicomp! Có một lớp ODE cụ thể nào mà bạn quan tâm không?
Paul

Chào Paul! Có, tôi hiện đang cố gắng thực hiện một loại mô hình ma sát chống trượt.
Andrey Shevlyakov

Bạn có thể kết hợp các phương trình bạn muốn giải quyết trong câu hỏi của bạn? Điều này sẽ giúp thu hẹp các phương pháp cụ thể áp dụng cho vấn đề của bạn.
Paul

Tôi đã thêm ví dụ vào bài đăng
Andrey Shevlyakov

1
Khi tôi làm việc trên ACSL, nó bao gồm một công cụ tìm gốc, vì vậy bạn có thể làm cho nó tìm kiếm thời gian khi vận tốc bằng 0, và sau đó khởi động mới từ thời điểm đó với rhs mới.
Mike Dunlavey

Câu trả lời:


13

Xem cuốn sách mới (2011) của David Stewart về chủ đề này, Động lực học với sự bất bình đẳng: Tác động và những ràng buộc cứng . Các vấn đề ma sát Coulomb được đề cập nhiều lần trong các chương phân tích.

Chương 8 được dành cho các phương pháp số cho ODE và DAE không trơn tru. Nó chủ yếu ủng hộ các phương pháp Runge-Kutta hoàn toàn ngầm với điều trị đặc biệt về sự không chân thực. Lưu ý Phần 8.4.4 chỉ ra rằng nếu bạn không xác định chính xác các điểm không mịn, tất cả các phương pháp đều giảm độ chính xác theo thứ tự , do đó, ẩn Euler (có sửa đổi cho độ không ổn định) là phổ biến trong thực tế. Bên cạnh đó, các giải pháp của các vấn đề bất bình đẳng với chiều vô hạn thường không piecewise mịn, do đó lý thuyết này chỉ cung cấp O ( h 1 / 2 ) hội tụ, mặc dù trong thực tế, O ( h )Ôi(h)Ôi(h1/2)Ôi(h) thường được quan sát.


Cảm ơn rất nhiều! Bạn có biết nếu có triển khai ở đâu đó không?
Andrey Shevlyakov

Không phải tôi biết, nhưng việc thực hiện các sơ đồ đơn giản không nên quá khó nếu bạn có một bộ giải cho các bất đẳng thức tĩnh.
Jed Brown


2

Như Mike Dunlavey đã chỉ ra trong một bình luận, điều này thường được thực hiện bằng cách sử dụng cái gọi là các hàm không giao nhau , tức là các hàm g(t,x(t))R>0<0

Ví dụ: nếu bạn có khối lượng chuyển động với một khối thì khoảng cách giữa khối lượng và khối có thể được sử dụng làm hàm vượt không.

Nhiều bộ giải ODE (ví dụ: SUNDIALS CVODE) tự động kiểm tra xem có bất kỳ hàm chéo nào thay đổi dấu hiệu của nó trong bước cuối cùng không. Nếu đây là trường hợp thì một phương pháp tìm kiếm gốc được sử dụng để xác định vị trí chính xác của gốc. Bộ giải sau đó có thể được khởi động lại tại vị trí cụ thể đó. Điều này được thực hiện tự động bởi chính người giải hoặc bằng mã gọi.


Đối với mục đích tìm kiếm: người ta cũng có thể nói về "vị trí sự kiện"; Hairer / Nørsett / Wanner có một cuộc thảo luận tốt về điều này.
JM
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.