import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as a,b as Q,a as m,e as l,o as t}from"./app-D3AKSfRn.js";const d="/images/2014/08/sph_15.gif",n="/images/2014/08/sph_25.gif",r={},s={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"20.818ex",position:"relative"}},o={style:{"vertical-align":"-0.942ex","min-width":"20.818ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"3.016ex",role:"img",focusable:"false","aria-hidden":"true"},g={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"20.001ex",position:"relative"}},i={style:{"vertical-align":"-0.942ex","min-width":"20.001ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"3.016ex",role:"img",focusable:"false","aria-hidden":"true"},h={class:"MathJax",jax:"SVG",style:{position:"relative"}},p={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"16.525ex",height:"2.072ex",role:"img",focusable:"false",viewBox:"0 -833.9 7304.2 915.9","aria-hidden":"true"},H={class:"MathJax",jax:"SVG",style:{position:"relative"}},u={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"18.758ex",height:"2.072ex",role:"img",focusable:"false",viewBox:"0 -833.9 8290.9 915.9","aria-hidden":"true"},c={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"47.541ex",position:"relative"}},x={style:{"vertical-align":"-0.942ex","min-width":"47.541ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"3.016ex",role:"img",focusable:"false","aria-hidden":"true"},f={class:"MathJax",jax:"SVG",style:{position:"relative"}},M={style:{"vertical-align":"0"},xmlns:"http://www.w3.org/2000/svg",width:"7.995ex",height:"2.45ex",role:"img",focusable:"false",viewBox:"0 -1083 3534 1083","aria-hidden":"true"},L={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"26.185ex",position:"relative"}},Z={style:{"vertical-align":"-0.942ex","min-width":"26.185ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"3.016ex",role:"img",focusable:"false","aria-hidden":"true"},D={class:"MathJax",jax:"SVG",style:{position:"relative"}},w={style:{"vertical-align":"0"},xmlns:"http://www.w3.org/2000/svg",width:"8.162ex",height:"2.45ex",role:"img",focusable:"false",viewBox:"0 -1083 3607.5 1083","aria-hidden":"true"},v={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"28.885ex",position:"relative"}},V={style:{"vertical-align":"-0.942ex","min-width":"28.885ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"3.016ex",role:"img",focusable:"false","aria-hidden":"true"},j={class:"MathJax",jax:"SVG",style:{position:"relative"}},b={style:{"vertical-align":"0"},xmlns:"http://www.w3.org/2000/svg",width:"8.218ex",height:"2.45ex",role:"img",focusable:"false",viewBox:"0 -1083 3632.3 1083","aria-hidden":"true"},y={class:"MathJax",jax:"SVG",style:{position:"relative"}},R={style:{"vertical-align":"-0.489ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.364ex",height:"1.489ex",role:"img",focusable:"false",viewBox:"0 -442 603 658","aria-hidden":"true"},O={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"29.689ex",position:"relative"}},A={style:{"vertical-align":"-0.942ex","min-width":"29.689ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"3.016ex",role:"img",focusable:"false","aria-hidden":"true"},k={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"34.64ex",position:"relative"}},S={style:{"vertical-align":"-0.717ex","min-width":"34.64ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"2.565ex",role:"img",focusable:"false","aria-hidden":"true"},C={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"37.054ex",position:"relative"}},X={style:{"vertical-align":"-2.844ex","min-width":"37.054ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"6.818ex",role:"img",focusable:"false","aria-hidden":"true"};function B(F,T){return t(),a("div",null,[T[36]||(T[36]=Q("h1",{id:"sph算法简介-二-粒子受力分析",tabindex:"-1"},[Q("a",{class:"header-anchor",href:"#sph算法简介-二-粒子受力分析"},[Q("span",null,"SPH算法简介(二): 粒子受力分析")])],-1)),T[37]||(T[37]=Q("figure",null,[Q("img",{src:d,alt:"",tabindex:"0",loading:"lazy"}),Q("figcaption")],-1)),T[38]||(T[38]=Q("p",null,"SPH算法的基本设想,就是将连续的流体想象成一个个相互作用的微粒,这些例子相互影响,共同形成了复杂的流体运动,对于每个单独的流体微粒,依旧遵循最基本的牛顿第二定律。",-1)),Q("mjx-container",s,[(t(),a("svg",o,[...T[0]||(T[0]=[m('',1)])])),T[1]||(T[1]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.1)")]),Q("mtd",null,[Q("mi",null,"m"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"a"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])])])])])])],-1))]),T[39]||(T[39]=Q("p",null,"这是我们分析的基础,在SPH算法里,流体的质量是由流体单元的密度决定的,所以一般用密度代替质量",-1)),Q("mjx-container",g,[(t(),a("svg",i,[...T[2]||(T[2]=[m('',1)])])),T[3]||(T[3]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.2)")]),Q("mtd",null,[Q("mi",null,"ρ"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"a"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])])])])])])],-1))]),Q("p",null,[T[8]||(T[8]=l("这里的的作用力F的量纲发生变化,正常情况下,“力”的量纲",-1)),Q("mjx-container",h,[(t(),a("svg",p,[...T[4]||(T[4]=[m('',1)])])),T[5]||(T[5]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"d"),Q("mi",null,"i"),Q("mi",null,"m"),Q("mi",null,"F"),Q("mo",null,"="),Q("mi",null,"M"),Q("msup",null,[Q("mi",null,"T"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"−"),Q("mn",null,"2")])]),Q("mi",null,"L")])],-1))]),T[9]||(T[9]=l(",而在这里",-1)),Q("mjx-container",H,[(t(),a("svg",u,[...T[6]||(T[6]=[m('',1)])])),T[7]||(T[7]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"d"),Q("mi",null,"i"),Q("mi",null,"m"),Q("mi",null,"F"),Q("mo",null,"="),Q("mi",null,"M"),Q("msup",null,[Q("mi",null,"T"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"−"),Q("mn",null,"2")])]),Q("msup",null,[Q("mi",null,"L"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"−"),Q("mn",null,"2")])])])],-1))]),T[10]||(T[10]=l(",后面的分析都是用这个量纲的“作用力”,这一点一定要注意。作用在一个微粒上的作用力由三部分组成",-1))]),Q("mjx-container",c,[(t(),a("svg",x,[...T[11]||(T[11]=[m('',1)])])),T[12]||(T[12]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.3)")]),Q("mtd",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"="),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"e"),Q("mi",null,"x"),Q("mi",null,"t"),Q("mi",null,"e"),Q("mi",null,"r"),Q("mi",null,"n"),Q("mi",null,"a"),Q("mi",null,"l")])]),Q("mo",null,"+"),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"p"),Q("mi",null,"r"),Q("mi",null,"e"),Q("mi",null,"s"),Q("mi",null,"s"),Q("mi",null,"u"),Q("mi",null,"r"),Q("mi",null,"e")])]),Q("mo",null,"+"),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"v"),Q("mi",null,"i"),Q("mi",null,"s"),Q("mi",null,"c"),Q("mi",null,"o"),Q("mi",null,"s"),Q("mi",null,"i"),Q("mi",null,"t"),Q("mi",null,"y")])])])])])])],-1))]),Q("p",null,[T[15]||(T[15]=l("其中 ",-1)),Q("mjx-container",f,[(t(),a("svg",M,[...T[13]||(T[13]=[m('',1)])])),T[14]||(T[14]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"e"),Q("mi",null,"x"),Q("mi",null,"t"),Q("mi",null,"e"),Q("mi",null,"r"),Q("mi",null,"n"),Q("mi",null,"a"),Q("mi",null,"l")])])])],-1))]),T[16]||(T[16]=l(" 称为外部力,一般就是重力",-1))]),Q("mjx-container",L,[(t(),a("svg",Z,[...T[17]||(T[17]=[m('',1)])])),T[18]||(T[18]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.4)")]),Q("mtd",null,[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"e"),Q("mi",null,"x"),Q("mi",null,"t"),Q("mi",null,"e"),Q("mi",null,"r"),Q("mi",null,"n"),Q("mi",null,"a"),Q("mi",null,"l")])]),Q("mo",null,"="),Q("mi",null,"ρ"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"g"),Q("mo",{stretchy:"false"},"→")])])])])])])],-1))]),Q("p",null,[Q("mjx-container",D,[(t(),a("svg",w,[...T[19]||(T[19]=[m('',1)])])),T[20]||(T[20]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"p"),Q("mi",null,"r"),Q("mi",null,"e"),Q("mi",null,"s"),Q("mi",null,"s"),Q("mi",null,"u"),Q("mi",null,"r"),Q("mi",null,"e")])])])],-1))]),T[21]||(T[21]=l("是由流体内部的压力差产生的作用力,试想一下在水管中流动的液体,进水口区域的压力一定会比出水口区域大,所以液体才会源源不断的流动,数值上,它等于压力场的梯度,方向由压力高的区域指向压力低的区域。",-1))]),Q("mjx-container",v,[(t(),a("svg",V,[...T[22]||(T[22]=[m('',1)])])),T[23]||(T[23]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.5)")]),Q("mtd",null,[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"p"),Q("mi",null,"r"),Q("mi",null,"e"),Q("mi",null,"s"),Q("mi",null,"s"),Q("mi",null,"u"),Q("mi",null,"r"),Q("mi",null,"e")])]),Q("mo",null,"="),Q("mo",null,"−"),Q("mi",{mathvariant:"normal"},"∇"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"p")])])])])])],-1))]),Q("p",null,[Q("mjx-container",j,[(t(),a("svg",b,[...T[24]||(T[24]=[m('',1)])])),T[25]||(T[25]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"v"),Q("mi",null,"i"),Q("mi",null,"s"),Q("mi",null,"c"),Q("mi",null,"o"),Q("mi",null,"s"),Q("mi",null,"i"),Q("mi",null,"t"),Q("mi",null,"y")])])])],-1))]),T[28]||(T[28]=l("是由粒子之间的速度差引起的,设想在流动的液体内部,快速流动的部分会施加类似于剪切力的作用力到速度慢的部分,这个力的大小跟流体的粘度系数",-1)),Q("mjx-container",y,[(t(),a("svg",R,[...T[26]||(T[26]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D707",d:"M58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216Z"})])])],-1)])])),T[27]||(T[27]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"μ")])],-1))]),T[29]||(T[29]=l("以及速度差有关",-1))]),Q("mjx-container",O,[(t(),a("svg",A,[...T[30]||(T[30]=[m('',1)])])),T[31]||(T[31]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.6)")]),Q("mtd",null,[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"F"),Q("mo",{stretchy:"false"},"→")])]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"v"),Q("mi",null,"i"),Q("mi",null,"s"),Q("mi",null,"c"),Q("mi",null,"o"),Q("mi",null,"s"),Q("mi",null,"i"),Q("mi",null,"t"),Q("mi",null,"y")])]),Q("mo",null,"="),Q("mi",null,"μ"),Q("msup",null,[Q("mi",{mathvariant:"normal"},"∇"),Q("mn",null,"2")]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"u"),Q("mo",{stretchy:"false"},"→")])])])])])])],-1))]),T[40]||(T[40]=Q("p",null,"带入公式2.2,可以得到",-1)),Q("mjx-container",k,[(t(),a("svg",S,[...T[32]||(T[32]=[m('',1)])])),T[33]||(T[33]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.7)")]),Q("mtd",null,[Q("mi",null,"ρ"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"a"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"="),Q("mi",null,"ρ"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"g"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"−"),Q("mi",{mathvariant:"normal"},"∇"),Q("mi",null,"p"),Q("mo",null,"+"),Q("mi",null,"μ"),Q("msup",null,[Q("mi",{mathvariant:"normal"},"∇"),Q("mn",null,"2")]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"u"),Q("mo",{stretchy:"false"},"→")])])])])])])],-1))]),T[41]||(T[41]=Q("p",null,"加速度形式:",-1)),Q("mjx-container",C,[(t(),a("svg",X,[...T[34]||(T[34]=[m('',1)])])),T[35]||(T[35]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(2.8)")]),Q("mtd",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"a"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"g"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"−"),Q("mstyle",{mathsize:"1.2em"},[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mfrac",null,[Q("mrow",null,[Q("mi",{mathvariant:"normal"},"∇"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"p")])]),Q("mi",null,"ρ")])]),Q("mo",null,"+"),Q("mstyle",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"μ"),Q("msup",null,[Q("mi",{mathvariant:"normal"},"∇"),Q("mn",null,"2")]),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",null,"u"),Q("mo",{stretchy:"false"},"→")])])]),Q("mi",null,"ρ")])])])])])])])])],-1))]),T[42]||(T[42]=m('

如果你学习过流体力学,一定会发现上面这个公式就是Navier-Stokes方程的一个简单形式,但N-S方程有更严格的形式和推导过程,感兴趣的朋友可以从流体力学相关的书中找到,这里有一篇比较比较浅显的文档可以参考,经过联系作者flysea,拿到这篇文档的原始文件放在这里,再次感谢flysea的帮助。
实际运算过程中,有时还要考虑表面张力的影响,所谓表面张力大家应该并不陌生,肥皂泡、毛细管等有趣的物理现象都跟表面张力有关,这个力可以简单理解为流体试图减小表面而产生的力。

表面张力是由于界面层流体分子受力不均衡产生的

由于表面张力只涉及到表层的粒子,所以计算方法和上面的有所不同,这部分会在以后的章节介绍。
经过上面的分析,我们基本上搞清楚了SPH粒子的运动计算方法,下节我们将正式开始介绍SPH算法的关键部分,如何通过光滑核函数计算粒子运动规律。

',3))])}const J=e(r,[["render",B]]),Y=JSON.parse('{"path":"/blog/2025/02/SPH002.html","title":"SPH算法简介(二): 粒子受力分析","lang":"zh-CN","frontmatter":{"title":"SPH算法简介(二): 粒子受力分析","tags":"数学 流体 程序 算法","prev":{"text":"SPH算法简介(一): 数学基础","link":"SPH001.md"},"next":{"text":"SPH算法简介(三): 光滑核函数","link":"SPH003.md"},"description":"SPH算法简介(二): 粒子受力分析 SPH算法的基本设想,就是将连续的流体想象成一个个相互作用的微粒,这些例子相互影响,共同形成了复杂的流体运动,对于每个单独的流体微粒,依旧遵循最基本的牛顿第二定律。 这是我们分析的基础,在SPH算法里,流体的质量是由流体单元的密度决定的,所以一般用密度代替质量 这里的的作用力F的量纲发生变化,正常情况下,“力”的量...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"SPH算法简介(二): 粒子受力分析\\",\\"image\\":[\\"https://thejinchao.github.io/images/2014/08/sph_15.gif\\",\\"https://thejinchao.github.io/images/2014/08/sph_25.gif \\\\\\"表面张力是由于界面层流体分子受力不均衡产生的\\\\\\"\\"],\\"dateModified\\":\\"2025-08-31T08:33:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"JinChao\\",\\"url\\":\\"https://thecodeway.com\\"}]}"],["meta",{"property":"og:url","content":"https://thejinchao.github.io/blog/2025/02/SPH002.html"}],["meta",{"property":"og:site_name","content":"我的博客和笔记"}],["meta",{"property":"og:title","content":"SPH算法简介(二): 粒子受力分析"}],["meta",{"property":"og:description","content":"SPH算法简介(二): 粒子受力分析 SPH算法的基本设想,就是将连续的流体想象成一个个相互作用的微粒,这些例子相互影响,共同形成了复杂的流体运动,对于每个单独的流体微粒,依旧遵循最基本的牛顿第二定律。 这是我们分析的基础,在SPH算法里,流体的质量是由流体单元的密度决定的,所以一般用密度代替质量 这里的的作用力F的量纲发生变化,正常情况下,“力”的量..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://thejinchao.github.io/images/2014/08/sph_15.gif"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-08-31T08:33:30.000Z"}],["meta",{"property":"article:modified_time","content":"2025-08-31T08:33:30.000Z"}]]},"git":{"createdTime":1740225290000,"updatedTime":1756629210000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":2,"url":"https://github.com/thejinchao"}]},"readingTime":{"minutes":2.92,"words":875},"filePathRelative":"blog/2025/02/SPH002.md","autoDesc":true}');export{J as comp,Y as data};