在欧拉网格上映射 SPH 数据以进行进一步演化

计算科学 多物理场 sph
2021-11-27 03:23:29

我确信这对于从事计算天体物理学工作的任何人来说都非常重要。我有一个.sph文件,它有 10 列包含

x, y, z, density, temp., velx, vely, velz, smoothing length, particle mass. 

数据有一些奇怪的单位,但我可以处理。但是,我不知道其他细节。任何可能使用过 SPH 代码的人都可能知道如何从中提取物理上合理的数据。

我是计算天体物理学和整个计算方面的新手,但非常了解物理方程(MHD、辐射传输等)。任何帮助将不胜感激。

PS:请提供一些新手和一些高级参考。

1个回答

SPH 格式的数据是完全“物理上合理的”,您只需要知道如何解释它。

在 SPH 公式中,您可以计算任何粒子数量A在任何给定点使用

A(r)=jmjAjρjW(rrj,hj).

在哪里r是目标点,例如网格上的一个节点,并且rj是的位置j粒子,和ρj,mj, 和hj分别是其密度、质量和平滑长度。

功能W(r,h)核函数,通常为零r>2h. 这意味着对于任何目标点r, 你只需要检查粒子在哪里rrj<2hj.

目标数量A可以是速度、温度、密度,以及存储在粒子级别的任何内容。

其中大部分内容在关于 SPH 的 Wikipedia 文章中进行了描述。更多详细信息的一个很好的来源是 Price 对 SPH 的出色评论,请点击此处

请注意,如果您将粒子数据映射到常规网格,则循环遍历粒子而不是网格点更有意义,因为在粒子范围内查找网格点比在范围内查找粒子要容易得多的一个网格点。