We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于傅里叶变换网格的确定,https://mcresearch.github.io/abacus-user-guide/develop-path4.html 中写道:
从2,3可以看出,程序中是要找到球中所有点的最大最小坐标,忽略非整数的误差,也就是范围对应的区域是球的外切平行六面体。
阅读代码initgrids函数,发现是这样做的:
上面图中是二维情况,假设xy方向基矢大小相等,夹角为钝角或锐角。ABCD是坐标轴交点确定的范围(代码中的做法),MNPQ是外切平行四边形对应的范围(文档中描述的做法),如果xy方向基矢夹角120°,都是单位矢量,圆半径为a, 那么在x轴正半轴,忽略浮点数取整,偏差为 2a/sqrt(3) - a,坐标轴夹角越大,偏差越大,夹角越小偏差越小,锐角的情况从图中看和钝角是对称的。 2. 按照代码中的做法,第2步似乎有一点冗余,如果没有第一步限定的范围,第二步中每个坐标方向都从0到正无穷和0到负无穷搜索,直到超出球范围,似乎就真正的起到了筛选的作用。是否这样做更好一点呢? 当然在代码的第三步,很大概率会扩充范围,第一步中的偏差也很可能会被掩盖。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Details
文档
关于傅里叶变换网格的确定,https://mcresearch.github.io/abacus-user-guide/develop-path4.html 中写道:
从2,3可以看出,程序中是要找到球中所有点的最大最小坐标,忽略非整数的误差,也就是范围对应的区域是球的外切平行六面体。
代码
阅读代码initgrids函数,发现是这样做的:
疑问
上面图中是二维情况,假设xy方向基矢大小相等,夹角为钝角或锐角。ABCD是坐标轴交点确定的范围(代码中的做法),MNPQ是外切平行四边形对应的范围(文档中描述的做法),如果xy方向基矢夹角120°,都是单位矢量,圆半径为a, 那么在x轴正半轴,忽略浮点数取整,偏差为 2a/sqrt(3) - a,坐标轴夹角越大,偏差越大,夹角越小偏差越小,锐角的情况从图中看和钝角是对称的。
2. 按照代码中的做法,第2步似乎有一点冗余,如果没有第一步限定的范围,第二步中每个坐标方向都从0到正无穷和0到负无穷搜索,直到超出球范围,似乎就真正的起到了筛选的作用。是否这样做更好一点呢? 当然在代码的第三步,很大概率会扩充范围,第一步中的偏差也很可能会被掩盖。
Have you read FAQ on the online manual http://abacus.deepmodeling.com/en/latest/community/faq.html
Task list for Issue attackers (only for developers)
The text was updated successfully, but these errors were encountered: