基本字段函数的文档字符串¶
字段操作函数¶
这些函数实现了一些与字段相关的基本操作。
- 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