Thực hiện trường hấp dẫn hiệu quả


8

Tôi đã hỏi một câu hỏi tương tự trên vật lý.stackexchange , không biết gì về trang web này.

Về cơ bản, tôi đang tìm kiếm một cách hiệu quả để thực hiện các trường hấp dẫn.

Tôi có một không gian 2D khổng lồ, với hàng ngàn đối tượng trong đó. Sau đó tôi cần mô phỏng làm thế nào các vật thể này bị ảnh hưởng bởi lực hấp dẫn của nhau.

Tôi nghĩ rằng có thể sắp xếp các đối tượng thành các bộ sưu tập và kiểm tra mọi đối tượng bên ngoài bộ sưu tập đó với bộ sưu tập đó, và không phải mọi đối tượng riêng lẻ bên trong nó. Tôi sớm nhận ra rằng điều này đơn giản là không thể. Trường hấp dẫn của nhiều đối tượng không thể biểu diễn dưới dạng một trường đồng nhất, chỉ được tính bằng một khối lượng và khoảng cách.

Mọi đối tượng bên trong mô phỏng có thể được coi là một hình cầu. Tôi ổn với xấp xỉ, miễn là nó có vẻ thực tế hợp lý.

Câu trả lời:


5

Bạn có thể thử sử dụng thư viện triển khai Phương pháp Đa cực nhanh (FMM), giúp giảm đáng kể dung lượng bộ nhớ bạn cần và sẽ giảm độ phức tạp của các sản phẩm vectơ ma trận từ xuống . Thật khó để thực hiện, nhưng cần có một số thư viện ngoài kia.O ( N )O(N2)O(N)

Một thuật toán khác cho mô phỏng cơ thể N là Barnes-Hut, dễ thực hiện hơn và có lẽ cũng có sẵn các triển khai thư viện. Nó được coi là kém hiệu quả (theo nghĩa tiệm cận) so với FMM.

Nếu tên miền của bạn là định kỳ, có lẽ bạn có thể làm một cái gì đó như tổng kết hạt Ewald? (Tôi biết ít hơn về phương pháp này.)


Tôi đã đọc một số về nó rồi, và nó xuất hiện với các yếu tố nhóm. Vì tất cả các yếu tố của tôi sẽ khá gần nhau và quần chúng bị xử lý khá nhỏ, điều này có còn chính xác không?
Jeroen

1
Tôi không có bất kỳ kinh nghiệm sử dụng nó; Tôi chỉ tham dự một vài bài giảng về phương pháp. FMM được coi là mạnh mẽ và ý tưởng chung là thứ tự của phép tính tổng bị cắt bớt một khi nó đã đạt đủ độ chính xác (giới hạn lỗi có thể được lấy để tính tổng, vì vậy chúng được sử dụng để kiểm tra độ chính xác). Ngoài ra, độ chính xác không được coi là phụ thuộc vào phân phối nguồn. FMM được cho là hiệu quả hơn so với lưới hạt Ewald khi các nguồn gần nhau.
Geoff Oxberry

4
Trong khi mỗi khối riêng lẻ có một trường đơn cực liên kết với nó, một tổng khối lượng không có trường đơn cực thuần. Điểm của FMM là tổng các trường này có thể được biểu diễn một cách hiệu quả bằng trường đa cực (thứ tự tương đối thấp) do các chế độ cao hơn của trường phân rã nhanh chóng theo khoảng cách.
Wolfgang Bangerth

Nếu tôi chỉ sử dụng trường cho mục đích tính toán gia tốc, thì giới hạn như vậy có mở ra một phạm vi mới về những cách có thể để làm điều đó không?
Jeroen
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.