关于SPH通用核函数的一些推导

值的表示

对于一维情况,现假设我们有一个定义在非负实数域上的标量权值函数\phi_1(x),截断至1,即满足:\int{\phi_1(x)}\mathrm{d}x=1,且\phi_1(x)=0\forall x>1成立。

我们希望基于它设计一个关于\vec{r}的对称核函数W_1(\vec{r}),截断至h,那么这个核函数的形式应为

W_1(\vec{r})=\alpha_1 \phi_1\left(\frac{|\vec{r}|}{h}\right).

它的积分应为1,因此

\int W_1(x)\mathrm{d}x=h\alpha_1\int\phi_1\left(\frac{x}{h}\right)\mathrm{d}\frac{x}{h}=h\alpha_1=1.

\alpha_1=\frac{1}{h}

W_1(\vec{r})=\frac{1}{h} \phi_1\left(\frac{|\vec{r}|}{h}\right)

对于二维情况,我们需要先找到一个截断至1的\phi_2,满足\iint\phi_2(\vec{r})\mathrm{d}x\mathrm{d}y=1,其中\vec{r}=(x,y).

那么类似地,

\iint W_2(x)\mathrm{d}x=h^2\alpha_2\int\phi_2\left(\frac{|\vec{r}|}{h}\right)\mathrm{d}\frac{x}{h}\mathrm{d}\frac{y}{h}=h^2\alpha_2=1.

W_2(\vec{r})=\frac{1}{h^2} \phi_2\left(\frac{|\vec{r}|}{h}\right)

三维同样:

W_3(\vec{r})=\frac{1}{h^3} \phi_3\left(\frac{|\vec{r}|}{h}\right)

梯度的表示

我们知道对于任意维数均有

\nabla |\vec{r}|=\frac{\vec{r}}{|\vec{r}|}.

因此对于任意W(\vec{r})=\alpha_d\phi_d\left(\frac{|\vec{r}|}{h}\right),我们有

\nabla W=\frac{\alpha_d}{h}\frac{\vec{r}}{|\vec{r}|}\frac{\mathrm{d}\phi_d}{\mathrm{d}x}\left(\frac{|\vec{r}|}{h}\right).

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注