import{_ as e,c as a,a as Q,b as m,d as l,o as t}from"./app-BZ0j62cq.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"},x={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"47.541ex",position:"relative"}},c={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"},M={class:"MathJax",jax:"SVG",style:{position:"relative"}},f={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"}},C={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"},X={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"37.054ex",position:"relative"}},B={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 S(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的量纲发生变化,正常情况下,“力”的量纲")),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(",而在这里")),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(",后面的分析都是用这个量纲的“作用力”,这一点一定要注意。作用在一个微粒上的作用力由三部分组成"))]),Q("mjx-container",x,[(t(),a("svg",c,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("其中 ")),Q("mjx-container",M,[(t(),a("svg",f,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(" 称为外部力,一般就是重力"))]),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("是由流体内部的压力差产生的作用力,试想一下在水管中流动的液体,进水口区域的压力一定会比出水口区域大,所以液体才会源源不断的流动,数值上,它等于压力场的梯度,方向由压力高的区域指向压力低的区域。"))]),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("是由粒子之间的速度差引起的,设想在流动的液体内部,快速流动的部分会施加类似于剪切力的作用力到速度慢的部分,这个力的大小跟流体的粘度系数")),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("以及速度差有关"))]),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",C,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",X,[(t(),a("svg",B,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 Y=e(r,[["render",S],["__file","SPH002.html.vue"]]),J=JSON.parse('{"path":"/blog/2025/02/SPH002.html","title":"SPH算法简介(二): 粒子受力分析","lang":"zh-CN","frontmatter":{"title":"SPH算法简介(二): 粒子受力分析","tags":"数学 流体 程序 算法"},"headers":[],"git":{"updatedTime":1740225290000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"blog/2025/02/SPH002.md"}');export{Y as comp,J as data};