Lua 接口规范

Lua 接口规范

Lua 脚本名

Lua 的脚本名任意,但需要在 sph.toml 中声明。

[pre-process]
dofile = true
lua_script = "xxx.lua"

Lua 函数接口

presph 采用 Lua 方法布置初始粒子信息,函数名规定为 region,意为“域”。

function region()

    -- ...

    return x, xv, mass, rho, p, u, itype, dx, ntotal, nvirt
end

函数没有输入值,只有 10 个输出值。分别是:

  • x: 粒子位置,类型为 tablex[][],第一个索引为维度,第二个索引为粒子序号。
  • xv:粒子速度,类型为 tablexv[][],第一个索引为维度,第二个索引为粒子序号。
  • mass:粒子质量,类型为 tablemass[],第一个索引为粒子序号。
  • rho:粒子密度,类型为 tablerho[],第一个索引为粒子序号。
  • p:粒子压强,类型为 tablep[],第一个索引为粒子序号。
  • u:粒子内能,类型为 tableu[],第一个索引为粒子序号。
  • itype:粒子类型,类型为 tableitype[],第一个索引为粒子序号。
  • dx:光滑长度,类型为 number
  • ntotal:粒子总数,类型为 number
  • nvirt:虚拟粒子数,类型为 number