基本字段函数的DocString#
现场操作功能#
这些函数通常实现一些与字段相关的基本操作。
- sympy.physics.vector.fieldfunctions.curl(vect, frame)[源代码]#
返回给定帧的坐标符号计算的向量场的旋度。
- 参数:
vect :矢量
向量操作数
框架 :参考帧
计算旋度的参考系
实例
>>> from sympy.physics.vector import ReferenceFrame >>> from sympy.physics.vector import curl >>> R = ReferenceFrame('R') >>> v1 = R[1]*R[2]*R.x + R[0]*R[2]*R.y + R[0]*R[1]*R.z >>> curl(v1, R) 0 >>> v2 = R[0]*R[1]*R[2]*R.x >>> curl(v2, R) R_x*R_y*R.y - R_x*R_z*R.z
- sympy.physics.vector.fieldfunctions.divergence(vect, frame)[源代码]#
返回给定帧的坐标符号计算的向量场的散度。
- 参数:
vect :矢量
向量操作数
框架 :参考帧
计算散度的参考系
实例
>>> from sympy.physics.vector import ReferenceFrame >>> from sympy.physics.vector import divergence >>> R = ReferenceFrame('R') >>> v1 = R[0]*R[1]*R[2] * (R.x+R.y+R.z) >>> divergence(v1, R) R_x*R_y + R_x*R_z + R_y*R_z >>> v2 = 2*R[1]*R[2]*R.y >>> divergence(v2, R) 2*R_z
- sympy.physics.vector.fieldfunctions.gradient(scalar, frame)[源代码]#
返回给定坐标系的标量向量的梯度。
- 参数:
标量 :可解释
要获取梯度的标量场
框架 :参考帧
计算渐变的框架
实例
>>> from sympy.physics.vector import ReferenceFrame >>> from sympy.physics.vector import gradient >>> R = ReferenceFrame('R') >>> s1 = R[0]*R[1]*R[2] >>> gradient(s1, R) R_y*R_z*R.x + R_x*R_z*R.y + R_x*R_y*R.z >>> s2 = 5*R[0]**2*R[2] >>> gradient(s2, R) 10*R_x*R_z*R.x + 5*R_x**2*R.z
- sympy.physics.vector.fieldfunctions.scalar_potential(field, frame)[源代码]#
返回给定帧中字段的标量势函数(不添加积分常数)。
- 参数:
领域 :矢量
要计算其标量势函数的向量场
框架 :参考帧
要在其中进行计算的框架
实例
>>> from sympy.physics.vector import ReferenceFrame >>> from sympy.physics.vector import scalar_potential, gradient >>> R = ReferenceFrame('R') >>> scalar_potential(R.z, R) == R[2] True >>> scalar_field = 2*R[0]**2*R[1]*R[2] >>> grad_field = gradient(scalar_field, R) >>> scalar_potential(grad_field, R) 2*R_x**2*R_y*R_z
- sympy.physics.vector.fieldfunctions.scalar_potential_difference(field, frame, point1, point2, origin)[源代码]#
返回特定帧中两点之间的标量势差,与给定字段相对应。
如果提供标量字段,则考虑其在两点处的值。如果提供一个保守向量场,则使用其在两点处的标量势函数的值。
返回(位置2处的电位)-(位置1处的电位)
- 参数:
领域 :矢量/可解释
要计算wrt的字段
框架 :参考帧
要在其中进行计算的框架
点1 :点
给定帧中的起始点
位置2 :点
给定帧中的第二个点
起源 :点
用作位置矢量计算参考点的点
实例
>>> from sympy.physics.vector import ReferenceFrame, Point >>> from sympy.physics.vector import scalar_potential_difference >>> R = ReferenceFrame('R') >>> O = Point('O') >>> P = O.locatenew('P', R[0]*R.x + R[1]*R.y + R[2]*R.z) >>> vectfield = 4*R[0]*R[1]*R.x + 2*R[0]**2*R.y >>> scalar_potential_difference(vectfield, R, O, P, O) 2*R_x**2*R_y >>> Q = O.locatenew('O', 3*R.x + R.y + 2*R.z) >>> scalar_potential_difference(vectfield, R, P, Q, O) -2*R_x**2*R_y + 18
检查向量场的类型#
- sympy.physics.vector.fieldfunctions.is_conservative(field)[源代码]#
检查字段是否保守。
- 参数:
领域 :矢量
要检查保守属性的字段
实例
>>> from sympy.physics.vector import ReferenceFrame >>> from sympy.physics.vector import is_conservative >>> R = ReferenceFrame('R') >>> is_conservative(R[1]*R[2]*R.x + R[0]*R[2]*R.y + R[0]*R[1]*R.z) True >>> is_conservative(R[2] * R.y) False
- sympy.physics.vector.fieldfunctions.is_solenoidal(field)[源代码]#
检查磁场是否为螺线管。
- 参数:
领域 :矢量
检查螺线管特性的字段
实例
>>> from sympy.physics.vector import ReferenceFrame >>> from sympy.physics.vector import is_solenoidal >>> R = ReferenceFrame('R') >>> is_solenoidal(R[1]*R[2]*R.x + R[0]*R[2]*R.y + R[0]*R[1]*R.z) True >>> is_solenoidal(R[1] * R.y) False