SPH演算法簡介(二): 粒子受力分析
SPH演算法的基本設想,就是將連續的流體想象成一個個相互作用的微粒,這些例子相互影響,共同形成了複雜的流體運動,對於每個單獨的流體微粒,依舊遵循最基本的牛頓第二定律
(2.1) |
---|
這是我們分析的基礎,在SPH演算法裡,流體的質量是由流體單元的密度決定的,所以一般用密度代替質量
(2.2) |
---|
這裡的的作用力F的量綱發生變化,dim F=MT-2L-2,後面的分析都是用這個量綱的“作用力”,這一點一定要注意。作用在一個微粒上的作用力由三部分組成
(2.3) |
---|
其中FExternal稱為外部力,一般就是重力,所以
(2.4) |
---|
FPressure是由流體內部的壓力差產生的作用力,試想一下在水管中流動的液體,進水口區域的壓力一定會比出水口區域大,所以液體才會源源不斷的流動,數值上,它等於壓力場的梯度,方向由壓力高的區域指向壓力低的區域。
(2.5) |
---|
FViscosity是由粒子之間的速度差引起的,設想在流動的液體內部,快速流動的部分會施加類似於剪下力的作用力到速度慢的部分,這個力的大小跟流體的粘度係數μ以及速度差有關
(2.6) |
---|
帶入公式2.2,可以得到
(2.7) |
---|
加速度形式:
(2.8) |
---|
如果你學習過流體力學,一定會發現上面這個公式就是Navier-Stokes方程的一個簡單形式,但N-S方程有更嚴格的形式和推導過程,感興趣的朋友可以從流體力學相關的書中找到,這裡有一篇比較比較淺顯的文件可以參考,經過聯絡作者flysea,拿到這篇文件的原始檔案放在這裡,再次感謝flysea的幫助。
實際運算過程中,有時還要考慮
由於表面張力只涉及到表層的粒子,所以計算方法和上面的有所不同,這部分會在以後的章節介紹。
經過上面的分析,我們基本上搞清楚了SPH粒子的運動計算方法,下節我們將正式開始介紹SPH演算法的關鍵部分,如何通過光滑核函式計算粒子運動規律。 轉載自:http://www.thecodeway.com/blog/?p=1610
相關推薦
SPH演算法簡介(二): 粒子受力分析
SPH演算法的基本設想,就是將連續的流體想象成一個個相互作用的微粒,這些例子相互影響,共同形成了複雜的流體運動,對於每個單獨的流體微粒,依舊遵循最基本的牛頓第二定律 (2.1) 這是我們分析的基礎,在SPH演算法裡,流體的質量是由流體單元的密度決定的,所以一般用密度代替質量 (2.2)
okhttp的簡介(二)之簡單封裝
封裝 連接超時 src ins span 目標地址 index finall shee 前一篇文章簡單的介紹了okhttp的簡單使用。okhttp的簡介(一):ht
SVNKit學習——wiki+簡介(二)
dea ssh 抽象 pan ide 控制 代理服務器 目錄 列操作 這篇文章是參考SVNKit官網在wiki的文檔,做了個人的理解~ 首先拋出一個疑問,Subversion是做什麽的,SVNKit又是用來幹什麽的? 相信一般工作過的同學都用過或了解過svn,不了
AD 域服務簡介(二)- Java 獲取 AD 域用戶
set env red smo 關系數據庫 sign exception ini 性能 博客地址:http://www.moonxy.com 一、前言 先簡單簡單回顧上一篇博文中關於 AD 域和 LDAP目錄訪問協議的基本概念。 AD(Active Directory)活
Tornado框架簡介(二)
IT ali cati tput 靜態 特定 with 命名方式 method --------------------Application--------------------1、settings1、debug=True:,設置tornado是否工作在調試模式,默認為
PCI簡介(二)
http height ont justify 技術 water 32位 top 發送 1.x86處理器系統地址空間簡介1.1 CPU地址空間 CPU地址空間是指CPU所能尋址的空間大小,比如對於32位CPU來說,其所能尋址的空間大小為0~4G。這是由CPU自身的地址
數據結構——圖及算法簡介(二)
森林 後繼 鄰接矩陣 數組 如果 結點 無重復 鄰接表 稀疏 圖(graph):是一種較線性表和樹更為復雜的數據結構,圖形結構中,結點之間的關系可以是任意的,圖中任意兩個數據元素之間都可能相關 線性表:數據元素之間僅有線性關系,每個數據元素只有一個直接前驅和一個直接後繼 樹
基於深度學習的目標檢測演算法綜述(二)(截止20180821)
參考:https://zhuanlan.zhihu.com/p/40020809 基於深度學習的目標檢測演算法綜述分為三部分: 1. Two/One stage演算法改進。這部分將主要總結在two/one stage經典網路上改進的系列論文,包括Faster R-CNN、YOLO、SSD等經
資料結構和演算法緒論(二)
1、演算法概念 不同的演算法可以提高計算相同算術題的效率,那麼演算法的研究就變得有意義了。 2、演算法的特性 輸入 輸出 有窮性(執行有限的步驟) 確定性(每一個步驟僅有一個含義) 可行性 3、演算法設計要求 沒有無法錯誤、有合法輸入和輸出 4、演算法效率 度量方法: 事前分析估算方法
Java設計模式簡介(二):結構型模式
我們接著討論設計模式,上篇文章我講完了5種建立型模式,這章開始,我將講下7種結構型模式:介面卡模式、裝飾模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。其中物件的介面卡模式是各種模式的起源,我們看下面的圖: 6、介面卡模式(Adapter): 介面卡模式將某個
libcurl庫的簡介(二)
下面是使用libcurl庫實現檔案上傳的一個例項:void CDataProcess::sendFileToServer(void) { string netIp = strNetUrl + "SaveFile"; for (int i = 0; i < taskZipVecto
tarjan演算法入門(二)——無向圖的雙連通分量(未完成)
一.雙連通分量. 無向圖的雙連通分量分為兩種,一種是點雙連通分量,簡稱v-DCC;一種是邊雙連通分量,簡稱e-DCC. 一個v-DCC的概念即為一張沒有割點的圖,一個e-DCC的概念即為一張沒有割邊的圖. 一張極大雙連通分量子圖的是指沒有一張雙連通分量子圖完全包含這張子圖的所有點且點
資料加密演算法簡介(轉載)(經典又權威)
資料加密 資料加密技術是最基本的安全技術,被譽為資訊保安的核心,最初主要用於保證資料在儲存和傳輸過程中的保密性。它通過變換和置換等各種方法將被保護資訊置換成密文,然後再進行資訊的儲存或傳輸,即使加密資訊在儲存或者傳輸過程為非授權人員所獲得,也可以保證這些資訊不為其認知,從而達到保護資訊的目的。該
資料結構與演算法筆記(二)複雜度分析
2. 複雜度分析 2.1 什麼是複雜度分析 資料結構和演算法的本質:快和省,如何讓程式碼執行得更快、更省儲存空間。 演算法複雜度分為時間複雜度和空間複雜度,從執行時間和佔用空間兩個維度來評估資料結構和演算法的效能。 複雜度描述的是演算法執行時間(或佔用空間)與資料規模的增長關
演算法訓練(二)
1.zoj-4026 首先我們需要推倒一下,每次都是從A開始拿,可以列舉幾種情況,會發現最後結束一定是在第四次抽到A的時候結束的,因為假設在第二堆結束,你在抽完4次2後第二堆才為空,你需要第五次抽到2才會回到第二堆,這時候才能結束,不符合題意,因此只有第一次就被抽的A能結束遊戲,因此結束的時
Actor簡介(二)
在上一部分,我們已經介紹了actor的基本用法,知道如何建立一個actor。我相信大家肯定不想侷限於如此,一定想把actor緊緊的握在手中,掌握它的生死。come on ,來吧! Actor生命週期
GIS演算法基礎(二)計算幾何基礎(中)
地理資料在計算機中表示大致分為兩種,向量資料和柵格資料。 要計算地理資料的空間關係,一般是向量資料之間的比較。例如:點,線,面之間的比較。 如何判斷線段之間是否相交,線段與面的包含關係。點與面的包含關係等等這些空間關係,都用到計算幾何的演算法。 空間關係的判定演算法的內
基於深度學習的目標檢測演算法綜述(二)
前言 基於深度學習的目標檢測演算法綜述分為三部分: 1. Two/One stage演算法改進。這部分將主要總結在two/one stage經典網路上改進的系列論文,包括Faster R-CNN、YOLO、SSD等經典論文的升級版本。 2. 解決方案。這部分論文對物體檢
Redis簡介(二)------為什麼Redis快取速度這麼快
首先介紹下硬碟資料庫和Redis的工作模式 一、硬碟資料庫的工作模式: 需要先從資料讀取資料到記憶體,記憶體中的資料儲存到硬碟,我們更改硬碟的資料後在儲存到資料庫。這裡的步驟較多,而且還佔用我們的硬碟容量。 二、記憶體資料庫的工作模式: 這種方式相比硬碟資料庫
排序演算法之(二)選擇排序
原理: 每一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法。 思路: n個數進行n-1次排序 每一次排