基本字段函数的文档字符串

字段操作函数

这些函数实现了一些与字段相关的基本操作。

sympy.physics.vector.fieldfunctions.curl(vect, frame)[源代码][源代码]

返回相对于给定框架的坐标符号计算的向量场的旋度。

参数:
矢量向量

向量操作数

框架参考框架

用于计算旋度的参考系

示例

>>> 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)[源代码][源代码]

返回相对于给定框架的坐标符号计算的矢量场的散度。

参数:
矢量向量

向量操作数

框架参考框架

用于计算散度的参考框架

示例

>>> 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)[源代码][源代码]

返回相对于给定框架的坐标符号计算的标量场的向量梯度。

参数:
标量sympifiable

要取梯度的标量场

框架参考框架

用于计算梯度的框架

示例

>>> 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的电势)

参数:
字段向量/可符号化的

要计算的字段

框架参考框架

进行计算的框架

点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