问题标签 [cylindrical]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vector - sympy.vector divergence() 有时在圆柱坐标中给出不正确的答案
在圆柱坐标中使用时,我发现 sympy.vector.divergence 函数存在问题。
有时它会给出正确的答案,但有时会给出错误的答案。
请参见下面的示例。
分歧(1 * rhat)返回0,当它应该返回1/R
分歧(R * rhat)返回2,正确答案。
我已将问题报告为 sympy github 问题页面上的错误。
对于我尝试过的各种多项式,diverence() 在柱坐标中给出了正确的答案,例如:
散度(R**3 * rhat)
4 R^2
因此,它似乎使用了正确的柱坐标发散公式。我查看了divergence() 源代码。圆柱坐标没有特定的代码。相反,它通过使用蹩脚系数对任何曲线坐标系进行一般情况变换。
当参数中有一个变量 R 时,divergence() 可以正常工作,但是当只给出一个常量时它会给出错误的答案。
散度( R * rhat ) # 2 正确
分歧( 7 * rhat ) # 0 错误!应该是 7/R
我的第一个猜测是,divergence() 代码正在尝试使用它期望成为变量一部分的某些属性(即 R._CoordSys),但在传递常量时找不到它。
python - 从球形网格到极坐标的速度插值
对于在柱坐标中进行模拟的代码,我需要流出产生的速度 v(R) 和 v(z)。
我模拟了这样的流出,但使用球坐标(圆柱坐标现在不起作用),所以我在 r 方向vr(r,theta)
和 theta 方向都有速度vt(r,theta)
。在我的数据文件中,我计算了R
, z
, vR
,vz
但这些数据是二维数组,取决于r
和theta
- 所以我不知道我是否可以使用它们。
我以前从未做过插值,但我知道我可以使用我认为可以执行类似操作的工具更改数据的坐标:
我想用类似的东西我可以用圆柱坐标来表达我的径向球面速度,但它没有给我圆柱半径R
或的速度z
。
会像这样的转变:
vrc
插值和足够了rc
吗?