Tôi đang làm việc trong một dự án nơi tôi có hai tên miền được ghép khác nhau thông qua các thuật ngữ nguồn tương ứng của chúng (một tên miền thêm khối lượng, khối lượng khác trừ đi khối lượng). Để cho ngắn gọn, tôi đang mô hình hóa chúng ở trạng thái ổn định. Các phương trình là phương trình vận chuyển khuếch tán tiến bộ tiêu chuẩn của bạn với một thuật ngữ nguồn trông như thế này:
Trong đó là thông lượng khuếch tán và tiến bộ cho loài i và Q i là thuật ngữ nguồn cho loài .
Tôi đã có thể viết một bộ giải cho vấn đề của mình bằng phương pháp Newton-Raphson và đã kết hợp hoàn toàn hai miền bằng cách sử dụng ma trận khối khối, nghĩa là:
Thuật ngữ được sử dụng để xác định ma trận Jacobian và cập nhật cả c 1 và c 2 :
hoặc là
Để tăng tốc mọi thứ, tôi không tính toán Jacobian mỗi lần lặp - ngay bây giờ tôi đang chơi với mỗi năm lần lặp, dường như hoạt động đủ tốt và giữ cho giải pháp ổn định.
Vấn đề là: Tôi sẽ chuyển sang một hệ thống lớn hơn, nơi cả hai miền đều ở dạng 2D / 2.5D và việc tính toán ma trận Jacobian sẽ nhanh chóng làm cạn kiệt tài nguyên máy tính có sẵn của tôi. Tôi đang xây dựng mô hình này để sử dụng trong cài đặt tối ưu hóa sau này, vì vậy tôi cũng không thể ngồi sau tay lái trong mỗi lần lặp điều chỉnh hệ số giảm xóc, v.v.
Tôi có đúng không khi đang tìm kiếm một thuật toán mạnh mẽ và mạnh mẽ hơn cho vấn đề của mình, hay điều này có tốt như nó không? Tôi đã xem xét một chút về tuyến tính hóa gần đúng, nhưng không chắc nó có thể áp dụng như thế nào cho hệ thống của tôi.
Có bất kỳ thuật toán khéo léo nào khác mà tôi có thể đã bỏ lỡ có thể giải một hệ phương trình phi tuyến mà không cần dùng đến tính toán lại Jacobian như đã tắt?