如何用微分方程表示墨汁在水中的擴散?
感覺真是很漂亮,考慮到方程將會非常複雜,說出建立微分方程的方法就行了,最好詳細點。
這個並不複雜。
如果只是「表示墨汁的擴散」的話,用一個Fick"s Second Law就可以了。但是感覺題主應該是問「如何模擬墨水滴入水盆產生很好看的效果「,因此水不是靜止的。
那麼通常考慮水分子和墨分子之間的相對速度的慣性可以忽略,於是整個系統就只有一個速度場,場方程就是普通的不可壓Navier-Stokes方程加一個漂移擴散方程。
考慮每點附近一小塊區域中墨的含量是 ,於是有
其中 是物質導數,墨密度 ,純水密度 ,其中是混合液體密度, 是混合液體的粘性係數(這個是愛因斯坦1905年提出的方程,比較簡單,還有其他描述混合液體的粘性係數的版本), 是擴散係數。
如果忽略擴散導致的密度變化、粘性變化就更簡單了,速度對墨的含量就變成了單向耦合。
至於求解的話方法很多的,如果是追求視覺效果的話,FLIP/APIC之類大概都蠻好用。具體可以參考我們的專欄:
電影工業中的流體模擬(五)--- 拉氏方法,歐氏方法和混合方法
或者渦方法可能會對墨汁入水的湍流效果做得更好一些,以及混合方法比如 @張心欣 的IVOCK:
IVOCK
渦方法的背景知識可以參考:
電影工業的流體模擬(特別篇)---渦方法的數學背景
電影工業的流體模擬(特別篇)---渦方法(二),N體問題初探以及最簡單的流體模擬程序
方程的話不可壓NS方程加輸運方程就可以。
也就是Raymond答案里的。
關於方程的求解我有點不同的意見。
你要是追求的是視覺上的效果,按Raymond提到的那些方法可以簡潔有效的得到很漂亮的結果。
但是那些方法在物理上是不夠準確的,做了很多簡化。
首先你想到用數學的方法來描述這個系統,你肯定是有一定數學水平的。但是很遺憾,這是一個
非線性
的系統。如果我對這個詞的理解沒錯,應該就是
無法通過一定的初始條件去獲得之後任意一刻的狀態。
通常在計算機領域,對於這種模型通常採用迭代法,即給定初始條件及幾何元素之間的作用規則,通過對當前時刻進行計算,得出下一時刻的狀態,周而復始。
數學上有個詞叫「卷積」,就是拿來解決這種非線性系統的工具吧
美其名曰「卷積」說白了就是f(f(f(f(f(f(f(f(......))))))))不停的算下去。。。可以做成耦合常微分方程,Lorentz模型的自由度為3
調節參數abc,選擇最適合視覺變化的參數..
dx = x + dt*(a * (y - x));
dy = y + dt*((x * (b - z)) - y);
dz = z + dt*((x * y) - (c * z));
X是水和墨水的密度比
Y是不同溶液的溫差
Z是流動速率比
abc分別可參考 普朗特數,瑞利數,水平溫度結構衰減率與垂直溫度結構衰減率之 差異
取值可為 先取10,28,2.67再自行調整
.相關軟體參見:YChaos生成混沌圖像.
為什麼我覺得是布朗運動的擴散公示。。。而且不用N-s方程可以用初等數學表示。
流體力學 非理想流體 湍流 非線性
推薦閱讀: