Tôi không hiểu hành vi khác nhau của phương trình khuếch tán khi tôi áp dụng các điều kiện biên khác nhau. Động lực của tôi là mô phỏng một đại lượng vật lý thực (mật độ hạt) dưới sự khuếch tán và tiến lên. Mật độ hạt nên được bảo tồn trong phần bên trong trừ khi nó chảy ra từ các cạnh. Theo logic này, nếu tôi thực thi các điều kiện biên của Neumann, các đầu của hệ thống như (ở bên trái và bên phải) thì hệ thống sẽ được "đóng" tức là nếu từ thông ở biên bằng 0 thì không hạt nào có thể thoát ra.
Đối với tất cả các mô phỏng bên dưới, tôi đã áp dụng phương pháp phân biệt Crank-Nicolson cho phương trình khuếch tán tiến và tất cả các mô phỏng đều có điều kiện biên. Tuy nhiên, đối với các hàng đầu tiên và cuối cùng của ma trận (các hàng điều kiện biên) tôi cho phép được thay đổi độc lập với giá trị bên trong. Điều này cho phép các điểm cuối được ẩn hoàn toàn.
Dưới đây tôi thảo luận về 4 cấu hình khác nhau, chỉ một trong số đó là những gì tôi mong đợi. Cuối cùng, tôi thảo luận về việc thực hiện của tôi.
Chỉ giới hạn khuếch tán
Ở đây các điều khoản tiến lên được tắt bằng cách đặt vận tốc về không.
Chỉ khuếch tán, với = 0,5 (Crank-Niscolson) tại tất cả các điểm
Số lượng không được bảo toàn như có thể thấy bằng cách giảm diện tích xung.
Chỉ khuếch tán, với = 0,5 (Crank-Niscolson) tại các điểm bên trong và = 1 (ẩn hoàn toàn) tại các ranh giới
Bằng cách sử dụng phương trình hoàn toàn ẩn trên các ranh giới tôi đạt được điều tôi mong đợi: không có hạt nào thoát ra . Bạn có thể thấy điều này bởi khu vực được bảo tồn như là hạt khuếch tán. Tại sao sự lựa chọn tại các điểm biên ảnh hưởng đến vật lý của tình huống? Đây có phải là một lỗi hoặc dự kiến?
Khuếch tán và thăng tiến
Khi bao gồm thuật ngữ quảng cáo, giá trị của tại các ranh giới dường như không ảnh hưởng đến giải pháp. Tuy nhiên, đối với tất cả các trường hợp khi các ranh giới dường như là "mở", tức là các hạt có thể thoát khỏi các ranh giới. Tại sao điều này là trường hợp?
Khuyến cáo và khuếch tán với = 0,5 (Crank-Niscolson) tại tất cả các điểm
Lời khuyên và khuếch tán với = 0,5 (Crank-Niscolson) tại các điểm bên trong và = 1 (ẩn hoàn toàn) tại các ranh giớiβ
Thực hiện phương trình khuếch tán
Bắt đầu với phương trình khuếch tán
Viết bằng cách sử dụng Crank-Nicolson,
Lưu ý rằng = 0,5 cho Crank-Nicolson, = 1 cho hoàn toàn ẩn và, = 0 cho hoàn toàn rõ ràng.beta beta
Để đơn giản hóa ký hiệu, hãy thay thế,
và di chuyển giá trị đã biết của đạo hàm thời gian sang phía bên phải,
Bao gồm các điều khoản đưa ra,
mà chúng ta có thể viết dưới dạng ma trận là trong đó,
Áp dụng điều kiện biên Neumann
NB đang làm việc thông qua đạo hàm một lần nữa tôi nghĩ rằng tôi đã phát hiện ra lỗi. Tôi đã giả sử một sơ đồ hoàn toàn ẩn ( = 1) khi viết sự khác biệt hữu hạn của điều kiện biên. Nếu bạn giả sử sơ đồ Crank-Niscolson ở đây thì độ phức tạp trở nên quá lớn và tôi không thể giải các phương trình kết quả để loại bỏ các nút nằm ngoài miền. Tuy nhiên, có vẻ như có thể, có hai phương trình với hai ẩn số, nhưng tôi không thể quản lý nó. Điều này có lẽ giải thích sự khác biệt giữa các ô thứ nhất và thứ hai ở trên. Tôi nghĩ rằng chúng ta có thể kết luận rằng chỉ các ô có = 0,5 tại các điểm biên là hợp lệ.β
Giả sử từ thông ở phía bên trái được biết (giả sử một hình thức hoàn toàn ẩn),
Viết điều này như một sự khác biệt trung tâm mang lại,
do đó,
Lưu ý rằng điều này giới thiệu một nút nằm ngoài miền của vấn đề. Nút này có thể được loại bỏ bằng cách sử dụng một phương trình thứ hai. Chúng ta có thể viết nút là,
Việc thay thế giá trị của được tìm thấy từ điều kiện biên cho kết quả sau cho hàng = 1,
Thực hiện cùng một quy trình cho hàng cuối cùng (tại = ),
Cuối cùng, làm cho các hàng ranh giới ẩn (cài đặt = 1) cho,
Do đó, với các điều kiện biên Neumann, chúng ta có thể viết phương trình ma trận, ,
Ở đâu,
Sự hiểu biết hiện tại của tôi
Tôi nghĩ rằng sự khác biệt giữa các ô thứ nhất và thứ hai được giải thích bằng cách lưu ý lỗi được nêu ở trên.
Về bảo tồn số lượng vật lý. Tôi tin rằng nguyên nhân là, như đã chỉ ra ở đây , phương trình tiến lên ở dạng tôi đã viết nó không cho phép lan truyền theo hướng ngược lại để sóng chỉ đi qua ngay cả với điều kiện biên không có thông lượng . Trực giác ban đầu của tôi về bảo tồn chỉ được áp dụng khi thời hạn tiến bộ bằng không (đây là giải pháp trong lô số 2 nơi khu vực được bảo tồn).Ngay cả với các điều kiện biên không có thông số Neumann , khối lượng vẫn có thể rời khỏi hệ thống, điều này là do các điều kiện biên chính xác trong trường hợp này là điều kiện biên Robin trong đó tổng thông lượng được chỉ định . Ngoài ra, điều kiện Neunmann chỉ định rằng khối lượng không thể rời khỏi miền thông qua khuếch tán , nó không nói gì về sự tiến bộ. Về bản chất những gì chúng ta đã nghe là các điều kiện biên khép kín để khuếch tán và mở các điều kiện biên để tiến lên. Để biết thêm thông tin, xem câu trả lời ở đây, Thực hiện conditon ranh giới không độ dốc trong phương trình khuếch tán tiến.
Bạn có đồng ý không