學(xué)習(xí)CFD,沒準(zhǔn)還能成為電影藝術(shù)家

2017-02-09  by:CAE仿真在線  來源:互聯(lián)網(wǎng)



計(jì)算機(jī)模擬的作品


流體所指的也不單單只是液體而已,還包含了火焰、煙霧、氣體等。而煙霧跟液體最大的差別在于,液體會(huì)有固定的體積,氣體則不是。從1960年代中期以來,流體動(dòng)力學(xué)(CFD,computational fluid dynamics)或流體模擬的科學(xué)就開始在工程問題中得到應(yīng)用。流體的方程式和數(shù)學(xué)原理可以用于建立諸如氣象模型、天氣預(yù)報(bào)、管道中水的流動(dòng)和飛機(jī)機(jī)翼周圍的氣流這樣的對(duì)象。

流體模擬已經(jīng)成為眾多特效電影的一個(gè)重要部分,即便如此,它還是沒有被大多數(shù)普通藝術(shù)家很好地理解。我們對(duì)流體模擬背后的科學(xué)進(jìn)行了解釋,特別深入地研究了一個(gè)最具有代表性的一款流體模擬軟件:Naiad(電影特效CFD軟件)


發(fā)展史

  在電腦圖形工業(yè)發(fā)展之前,早至20世紀(jì)50到60年代,流體模擬就已經(jīng)被活躍地研究并且有了數(shù)學(xué)模型?;厮葜?0年代,一個(gè)起主要影響研究的開創(chuàng)者就是Los Alamos國家實(shí)驗(yàn)室的T3組織。James Harlow是這個(gè)組織的領(lǐng)導(dǎo)者,Harlow和他的團(tuán)隊(duì)研究出工業(yè)化應(yīng)用的理論,包括我們?cè)谙旅鏁?huì)解釋的交錯(cuò)MAC(marker-and-cell)網(wǎng)格結(jié)構(gòu),和PIC(Particle In Cell)方法,而后者就是今天FLIP、MPM和其他復(fù)合方法的前身!

  可惜,多數(shù)用于真實(shí)世界的CFD方法對(duì)視覺特效流體模擬來說顯得不必要地復(fù)雜,而且數(shù)量很少。在計(jì)算機(jī)圖形學(xué)領(lǐng)域,重要的先鋒有Nick Foster和Dimitris Metaxas,他們計(jì)算了不可壓縮和自由表面流體。正如我們下面所要強(qiáng)調(diào)的可壓縮性,是通向可行解決方案的一個(gè)關(guān)鍵途徑,但許多人都不能直觀地理解。在Foster和Metaxas之前,視覺特效中的水都沒有用物理學(xué)方法,大多數(shù)是運(yùn)用了2D或者位移和凹凸貼圖這類小“詭計(jì)”。Alias Wavefront的Jos Stam對(duì)不可壓縮氣態(tài)流體所做的工作也十分顯著。在他1999年的Siggraph論文中,闡述了為什么比起關(guān)鍵幀動(dòng)畫,模擬動(dòng)畫是如此地重要。

  與關(guān)鍵幀或過程依賴技術(shù)不同,物理模型(流體模擬)可以讓一個(gè)動(dòng)畫師毫不費(fèi)力地創(chuàng)造有趣的類似漩渦流體行為。而且,流體與物體和虛擬力之間的互動(dòng)能被輕松處理。Jos Stam. (1999). Stable Fluids, SIGGRAPH 1999 Conference Proceedings: SIGGRAPH Annual Conference Series. pp. 121-128.

  在90年代早期,在Waterworld 和 Titanic這樣的電影中,證明電腦合成的水圖像是可以達(dá)到很高真實(shí)度,但是這種真實(shí)大都局限于平靜、開闊的海洋鏡頭。Jerry Tessendorf, Rhythm and Hues (R&H)的首席圖形科學(xué)家,在水特效的發(fā)展過程中做了大量的工作,因?yàn)樗麄冄芯康脑贑FD領(lǐng)域中傳統(tǒng)流體動(dòng)力學(xué)工具,他和R&H的其他三個(gè)成員一起獲得了2008年學(xué)院獎(jiǎng)的Technical Achievement 獎(jiǎng)項(xiàng)。

  Stanely Osher做了開創(chuàng)性工作,使用層集方法表達(dá)動(dòng)力學(xué)表面,后來他的博士生Ron Fedkiw將層集方法帶入圖形學(xué)并且創(chuàng)造了PLS( Particle Level Set )方法,這個(gè)方法通過沿流體表面種植粒子來保持其它方法可能損失的次網(wǎng)格質(zhì)量,減少了純層集方法的質(zhì)量損失。Fedkiw的工作有極大的重要性,他獲得了來自動(dòng)態(tài)圖像藝術(shù)與科學(xué)學(xué)院的技術(shù)成就學(xué)術(shù)獎(jiǎng)?,F(xiàn)在他是斯坦福計(jì)算機(jī)科學(xué)的副教授,發(fā)表了超過80篇計(jì)算物理、流體和視覺方面的論文。過去的十年中,他一直擔(dān)任工業(yè)光魔(Industrial Light & Magic ,ILM)的顧問,在銀幕上也有所成就,參與了 Terminator 3: Rise of the Machines(終結(jié)者3), Star Wars: Episode III – Revenge of the Sith(星球大戰(zhàn)), Poseidon 和 Evan Almighty電影的制作。

  Robert Bridson,反過來又是 Ron Fedkiw的博士生,作為PhysBAM項(xiàng)目的創(chuàng)始人之一,在Fedkiw的管理下與工業(yè)光魔一起工作。PhysBAM延續(xù)了工業(yè)光魔物理模擬編程的主要工作。Bridson針對(duì)那些主要的研究者比如Harlow 追溯了20世紀(jì)60年代早期的研究,然后為不可壓縮流體引入了 PIC/FLIP方法,同時(shí)也將不可壓縮FLIP方法帶入圖形學(xué)。FLIP方法和它的變體在流體模擬的傳遞階段有一個(gè)總數(shù)值擴(kuò)散的近似缺陷,因?yàn)樗鼘⑺械臄?shù)量都平流輸送到粒子而不是網(wǎng)格上。

  在PhysBam項(xiàng)目中,Bridson幫助編寫了布料模擬代碼,這個(gè)使運(yùn)用在工業(yè)光魔制作的Star Wars Episode II: Attack of the Clones(星球大戰(zhàn)前傳2)中。然后Bridson 到了英國為Double Negative合作設(shè)計(jì)了噴濺流體模擬器,在許多電影的煙、水、火、云、水墨特效中都可以見到,這包括Harry Potter and the Half-Blood Prince(哈利波特和混血王子)、2012、 The Boat that Rocked、 Inkheart、 Quantum of Solace(量子危機(jī))、The Dark Knight 和Hell Boy II: The Golden Army(地獄男爵2)。

  正是在英國,Bridson 碰到了另一個(gè)業(yè)內(nèi)傳奇—— Marcus Nordenstam ,他們一起在2008年成立了Exotic Matter公司。Exotic Matter是Naiad流體模擬軟件的制造者,這個(gè)軟件參與了許多震撼的流體特效制作,包括Avatar(阿凡達(dá))、Narnia: Voyage of the Dawntreader(納尼亞傳奇)、X-Men First Class、 Harry Potter and The Deathly Hallows Part 2(哈里波特和死亡圣器2)、Pirates of the Caribbean: On Stranger Tides(加勒比海盜:陌生的潮汐)、Rise of the Planet of the Apes(猩球崛起)等許多電影。Nordenstam現(xiàn)在有超過15年的VFX R&D和特效模擬經(jīng)驗(yàn)。他聯(lián)合研發(fā)了curl-noise,開創(chuàng)了火焰模擬中FLIP方法的運(yùn)用,與 Bridson合作設(shè)計(jì)了噴濺流體模擬器。在參與組建Exotic Matter公司之前,Marcus在工業(yè)光魔有高級(jí)工程師的職位,在那里他是Zeno項(xiàng)目初始設(shè)計(jì)者之一。他在銀幕上的貢獻(xiàn)有 Star Wars Episode II、Spider-Man 2, Hellboy II、Inkheart、 Harry Potter and the Half-Blood Prince 和Avatar。

  作為Exotic Matter公司的一部分,Nordenstam 和公司的其他人深深地投入到關(guān)鍵方向之中,尤其是在公司早期的時(shí)候。最緊張之時(shí),他們?cè)谛挛魈m威靈頓的Weta Digital做為R&D部門工作了十個(gè)月,制作了諸如Avatar這樣的電影。

  Naiad軟件獲得了巨大的難以置信的成功,如今它有資格代表流體模擬藝術(shù)的發(fā)展現(xiàn)狀。當(dāng)然沒有一個(gè)模擬器能做好每一個(gè)方面, Naiad因它的可擴(kuò)展性、可信度和真實(shí)性廣受歡迎。今天在流體模擬領(lǐng)域有幾個(gè)主要的公司。Munich-based Scanline Productions (Stephan Trojansky領(lǐng)導(dǎo)) 和它們的獲獎(jiǎng)軟件Flowline,幫助MPC(The Moving Picture Company )公司在Poseidon(海神號(hào))電影中制作了逼真的海水,幫助Scanline沖垮了2012中的大部分建筑,還原了 Clint Eastwood的 Hereafter的恐怖。還有其他許多非定制流體工具,比如Maya、Hodini和其它專家公司或小組比如Blender 3D、 RealFlow、 FumeFX、Dynamite、ICE (Softimage/XSI軟件的一部分)、 PhyFluids3D等等許多。但在這個(gè)文章中,我們只對(duì)Naiad的科學(xué)進(jìn)行試驗(yàn),對(duì)Naiad藝術(shù)背后的科學(xué)進(jìn)行深入的研究。


基本概念

  有些流體模擬是主要是關(guān)注于表面屬性,比如在早期,海水模擬制作出來的半平坦的大洋。最近的模擬都關(guān)注于體積,這樣既能表達(dá)一個(gè)傾瀉鏡頭或者洪水在剛體周圍沖擊的鏡頭,也能表達(dá)水下位置的高度對(duì)水表面的影響,即在海灘上陸地降低造成的破碎波(Breaking waves)。上述關(guān)于體積的流體模擬底層的一些基本問題列出如下:

  • 質(zhì)量守恒,即模擬過程(或者說算法)中水不會(huì)消失。

  • 動(dòng)量或能量守恒。

  • 體積守恒->即不可壓縮性->不像真實(shí)的水,這可能看上去很奇怪,聲音不可以在水下傳播嗎?但對(duì)于視覺特效來說,這個(gè)假設(shè)已經(jīng)足夠接近真實(shí),使數(shù)學(xué)運(yùn)算極大地簡化

  • 相關(guān)加速度(connective acceleration)—空間控制的加速度,例如水流出去或者灌入時(shí)作用于流體的主要有兩種力,用一兩段我們可以用數(shù)學(xué)把它們表示出來的話說,流體被認(rèn)為受重力和它自己壓力的影響。

  • 對(duì)于大多數(shù)流體我們忽略了粘度,但不是全部忽略,粘度影響小的時(shí)候我們忽略它

  • 邊界情況——最后也是最關(guān)鍵的——流體的邊界非常重要,那可能是一個(gè)表面或者一個(gè)分界。在Bridson的書Fluid simulation for CG (2008)中,提到“大多數(shù)數(shù)字流體模擬的‘趣味’就在于正確地得到邊界情況?!庇腥N情況——固體面,或自由流動(dòng)的表面,和最困難的,其他液體(最后一種情況在電影中很少見)。


模擬解算斯托克斯方程

  Navier-Stokes方程是一套描述多種流體(包括氣體)行為的方程。Navier-Stokes方程已經(jīng)出現(xiàn)了兩百年左右,但如同我們上文中所做的規(guī)避,它是一套一般問題的子集,建立在一些特效工業(yè)最關(guān)注的關(guān)鍵性假設(shè)之上。Navier Stokes方程的解并不是一個(gè)42之類的數(shù)字,它解出一個(gè)速度場(chǎng)——或者說一個(gè)復(fù)合矢量。Navier Stokes方程不指示位置,而是速度。這點(diǎn)很重要,也困惑了很多人——這些矢量不是如同速度一樣分布在空間中的點(diǎn)。我們得到的是一個(gè)層流等式,描述微?;蛘哂糜?jì)算機(jī)圖形學(xué)的術(shù)語來說——粒子——在速度場(chǎng)作用下的移動(dòng)。

  Navier Stokes方程,因Claude-Louis Navier和 George Gabriel Stokes而命名,描述了流體物質(zhì)的運(yùn)動(dòng)。在半技術(shù)術(shù)語中這些等式是將牛頓第二定律運(yùn)用于流體運(yùn)動(dòng)中而得來(F=ma),但同時(shí)也使用了一個(gè)說法,流體“壓強(qiáng)”,即流體運(yùn)動(dòng)趨向的方向,是一個(gè)擴(kuò)散粘度項(xiàng)的綜合(與速度梯度成正比),加上一個(gè)壓力項(xiàng)。

  這個(gè)方程很有用處,因它描述了許多理論和經(jīng)濟(jì)上感興趣的物理現(xiàn)象。它們可以用于建立天氣模型,海洋涌流,管道水流和翅膀周圍的氣流模型。Navier–Stokes方程,以完整和簡化形式用于航空器和車輛的設(shè)計(jì)、血流動(dòng)力學(xué)的研究,發(fā)電站的設(shè)計(jì)、污染分析以及其它許多方面。

  Navier–Stokes的一個(gè)解叫做速度場(chǎng)或者流場(chǎng),即描述了一種在一個(gè)給定的空間和時(shí)間的點(diǎn)流體流動(dòng)的方法。只要解出速度場(chǎng),與一個(gè)真實(shí)可信的鏡頭有關(guān)的其它事情,比如流動(dòng)速度或者拖曳力就能夠被得到。傳統(tǒng)機(jī)械或者剛體模擬得出的解都是典型的粒子位置軌跡或者運(yùn)動(dòng)偏向,這與流體模擬不同。研究速度而不是位置使我們更加了解流體;無論怎樣要達(dá)到視覺目的,這樣都可以計(jì)算出不同類型軌跡。這里是一個(gè)極簡數(shù)學(xué)模型——建立在上述假設(shè)之上,這個(gè)“不可壓縮斯托克斯方程”就足夠了。


學(xué)習(xí)CFD,沒準(zhǔn)還能成為電影藝術(shù)家cfx培訓(xùn)課程圖片1


加速度+某東西+在壓力與密度的改變=本體的力+動(dòng)態(tài)的黏度

但是假定流體是不可壓縮的話,黏度的計(jì)算就可以被忽略

加速度+0+在壓力與密度的改變=本體的力+0

整理一下公式會(huì)得到:

加速度=本體的力-壓力與密度的變化


  而密度又等于質(zhì)量除以體積, 壓力的改變又與體積有關(guān), 流體的某一點(diǎn)的加速度=重力(外力)-壓力,就是密度的改變,因此流體的加速度就與他所受到的力相關(guān)。流體的某一點(diǎn)的加速度=重力(外力)-壓力或是密度的改變,流體的加速度就與他所受到的力相關(guān)。

  這樣的公式要怎樣實(shí)際導(dǎo)入到流體軟件里面呢?如果直接把公式寫成程序語言很簡單,但是實(shí)際在計(jì)算的時(shí)候需要考慮產(chǎn)業(yè)需求,計(jì)算機(jī)運(yùn)算時(shí)間。寫實(shí)度往往必須跟速度達(dá)到平衡。因此實(shí)際上需要很多偷步的技巧才能滿足不同流體狀況。其中一種偷步技巧是Surface Tracking Euler method。他是用Height map來控制流體表面,但是忽略掉水面以下發(fā)生的事情。某些軟件的解算法并不能滿足所有尺度, 從小尺度的倒酒杯到大尺度翻滾海浪上的船。某些則是數(shù)學(xué)公式上面有缺陷,會(huì)導(dǎo)致流體會(huì)隨著時(shí)間讓體積越來越小, 例如在測(cè)試《加勒比海盜神鬼奇航:幽靈?!防锩嬗幸荒徊A溲b載了美人魚, 而Naiad則是解決了這方面的問題。

以下是可以在合理的時(shí)間里面計(jì)算出寫實(shí)流體的一些關(guān)鍵技術(shù)點(diǎn):

SPH(Smooth Particle Hydrodynamics)

一種用Navier-Stokes的粒子系統(tǒng),仿真完后再把這些粒子變成polygon。這種方式對(duì)于倒酒的流體特效很適合,但是對(duì)于如海水般大量流體就會(huì)有困難。

學(xué)習(xí)CFD,沒準(zhǔn)還能成為電影藝術(shù)家cfx結(jié)果圖片2


Volume Grid
  只有表面的流體, 又被稱為Volume Fluids。例如在Houdini里面,可以很有效率地描述海洋波浪的高度與頻率, 這種方法沒有粒子, 對(duì)于小尺度的倒酒效果不合適. 這種方法通成被稱為Euler法。

FLIP

FLIP解算法是粒子解算法與volume解算法兩種的混合,《加勒比海盜神鬼奇航:幽靈?!访廊唆~裝在玻璃牢籠里面的流體, 就是用Naiad的FLIP模擬出來的。FLIP跟粒子或是SPH相比最大的優(yōu)點(diǎn)在于每個(gè)Frame需要計(jì)算公式的次數(shù)不需要這么多,SPH解算法在計(jì)算的時(shí)候,每個(gè)Frame都要計(jì)算好幾次,有點(diǎn)像是時(shí)間上的反鋸齒計(jì)算,這樣的公式往往必須要解算10-100次才有可能得到好效果,要不然很容易產(chǎn)生分子炸開的問題。Houdini也提供三種解算模式,包含了FLIP的方式。針對(duì)Houdini 11 Side Effects的資深數(shù)學(xué)家Jeff Lait說: ” 當(dāng)FLIP流體被解算的時(shí)候, 會(huì)暫時(shí)產(chǎn)生速度場(chǎng),粒子的速度場(chǎng)會(huì)被轉(zhuǎn)移到grid里面。用來處理流體的彈射方向,這樣可以避免粒子重迭,也可以避免它們都往同一個(gè)方向移動(dòng)。FLIP流體的另外一個(gè)優(yōu)點(diǎn)是不同的流體可以迭在一起,不會(huì)影響到系統(tǒng)的穩(wěn)定度。SPH法當(dāng)兩個(gè)粒子很靠近的時(shí)候很容易就炸飛,對(duì)于FLIP來說,你可以添加新的粒子到流體里面,例如石頭丟到水里面飛濺起來的分子。

學(xué)習(xí)CFD,沒準(zhǔn)還能成為電影藝術(shù)家cfx結(jié)果圖片3



開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:學(xué)習(xí)CFD,沒準(zhǔn)還能成為電影藝術(shù)家 ansys-cfx流體分析培訓(xùn) CFX培訓(xùn) cfx技術(shù)教程 cfx資料下載 cfx視頻教程 cfx學(xué)習(xí)資料 cfx軟件下載 ansys cfx編程二次開發(fā) CFX代做 CFX基礎(chǔ)知識(shí) Fluent、CFX流體分析 HFSS電磁分析 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com