我想使用sympy将PDE从笛卡尔坐标转换为圆柱坐标。作为一个简单的例子,我尝试在圆柱坐标系中找到质量守恒连续方程的表示形式。
查看文档,我发现sympy.vector模块似乎提供了一种指定坐标系和变换的方法,但是我不知道如何使用它来解决我的问题。
我的出发点是这样的:
import numpy as np
import sympy as sp
from sympy.vector import CoordSys3D
sp.init_printing(use_unicode=True)
A = CoordSys3D("Cartesian")
C = CoordSys3D("Cylindrical", transformation="cylindrical", variable_names=("r", "theta", "z"))
u = sp.Function("u")(A.x, A.y, A.z)
v = sp.Function("v")(A.x, A.y, A.z)
w = sp.Function("w")(A.x, A.y, A.z)
ur = sp.Function("u_r")(C.r, C.theta, C.z)
ut = sp.Function("u_theta")(C.r, C.theta, C.z)
uz = sp.Function("u_z")(C.r, C.theta, C.z)
continuity = sp.Eq(u.diff(A.x) + v.diff(A.y) + w.diff(A.z))
但是下一步是什么?