Sympy求解电场能量积分无输出问题咨询
镜像电荷电场能量积分计算问题
电场与能量公式
教材给出的电场表达式为:
$$
E(x, y, z) = \frac{q}{4\pi\epsilon_0} \left[
\frac{\hat{x}x + \hat{y}y + \hat{z}(z - z_0)}{(x^2 + y^2 + (z - z_0)2){3/2}} +
\frac{\hat{x}x + \hat{y}y + \hat{z}(z + z_0)}{(x^2 + y^2 + (z + z_0)2){3/2}}
\right]
$$
采用教材中的电场能量公式计算:
$$
U=\frac{\epsilon_0}{2}\int E2d3x
$$
尝试的SymPy求解代码
为计算上述积分,编写了如下Python代码:
from sympy import * # Define the symbols x, y, z = symbols('x y z') q = symbols('q', real=True, positive=True) epsilon_0 = symbols('epsilon_0', real=True, positive=True) z0 = symbols('z0', real=True, positive=True) # Electric field components due to the image charges E1_x = q / (4 * pi * epsilon_0) * x / ((x**2 + y**2 + (z - z0)**2)**(3/2)) E1_y = q / (4 * pi * epsilon_0) * y / ((x**2 + y**2 + (z - z0)**2)**(3/2)) E1_z = q / (4 * pi * epsilon_0) * (z - z0) / ((x**2 + y**2 + (z - z0)**2)**(3/2)) E2_x = q / (4 * pi * epsilon_0) * x / ((x**2 + y**2 + (z + z0)**2)**(3/2)) E2_y = q / (4 * pi * epsilon_0) * y / ((x**2 + y**2 + (z + z0)**2)**(3/2)) E2_z = -q / (4 * pi * epsilon_0) * (z + z0) / ((x**2 + y**2 + (z + z0)**2)**(3/2)) # Total electric field components E_x = E1_x + E2_x E_y = E1_y + E2_y E_z = E1_z + E2_z # Squaring the electric field components and summing them E_squared = E_x**2 + E_y**2 + E_z**2 # Integrate E_squared over the half-space where z > 0 U = (epsilon_0 / 2) * integrate(integrate(integrate(E_squared, (x, -oo, oo)), (y, -oo, oo)), (z, 0, oo)) U.simplify()
遇到的问题
运行上述代码后,已持续1-2天无输出结果,CPU始终处于满负荷状态(设备配备8P+2E核心),无法确定该积分问题是否无法通过SymPy求解,或是计算过程过于复杂导致耗时过长。
内容的提问来源于stack exchange,提问作者Joy Jin
相关产品推荐
相关产品推荐

