基于Python仿真载流圆线圈的磁场分布

1、理论基础

R是圆环的半径:
x是距离圆环中心的距离:
d B = μ 0 4 π I c o s ⁡ α d l r 2 dB =\frac{μ_0}{4π} \frac{I cos⁡α dl}{r^2} dB=4πμ0r2Icosαdl
B = ( μ 0 I R 2 ) 2 ( x 2 + R 2 ) 3 2 B=\frac{(μ_0 IR^2)}{2(x^2+R^2 )^{\frac{3}{2}}} B=2(x2+R2)23(μ0IR2)

仿真载流圆线圈的磁场分布:
设场点P的位置为 ,电流元位置为 ,电流元矢量 ,由此可得场点P相对于电流的位置矢量为:
利用行列式计算Idl×r ,可写为
设载流线圈通过坐标原点垂直于x-y平面放置,电流元Idl沿z轴正向,设x= 0,则y=Rsin(θ) , z=Rcos(θ), z 0 = 0 , d x = 0 , d y = R c o s ( θ ) d θ , d z = R s i n ( θ ) d θ z_0=0,dx=0,dy=Rcos(θ) d_θ,dz=Rsin(θ) d_θ z0=0,dx=0,dy=Rcos(θ)dθ,dz=Rsin(θ)dθ
即:
d l = [ d x d y d z ] = [ 0 R c o s ( θ ) d θ R s i n ( θ ) d θ ] dl=[d_x d_y d_z ]=[0 Rcos(θ) d_θ Rsin(θ) d_θ ] dl=[dxdydz]=[0Rcos(θ)dθRsin(θ)dθ]
r = [ x 0 − x , y 0 − y , z 0 − z ] r=[x_0-x,y_0-y, z_0-z] r=[x0x,y0y,z0z]
通过Python求叉乘

import numpy as np
import matplotlib.pyplot as plt
from pylab import meshgrid,  arange, streamplot, show
import mpl_toolkits.mplot3d
from mpl_toolkits.mplot3d import Axes3D

import sympy as sym

dx, dy, dz, x0, x, y0, y, z0, z, R,theta = sym.symbols('dx, dy, dz, x0, x, y0, y, z0, z, R,theta')  # 声明符号变量,否则会认为没有定义

z0=0
dx=0
x=0
y=sym.simplify(R*sym.sin(theta))
z=sym.simplify(R*sym.cos(theta))

dy=sym.diff(y,theta)
dz=sym.diff(z,theta)
dl=[dx, dy,dz]
r=[x0-x,y0-y, z0-z]
dlcr=np.cross(dl,r) 
print(dlcr)          

x=sym.Symbol('x')
f1=sym.sin(x)/x
f2=(1+x)**(1/x)
f3=(1+1/x)**x
#三个参数是 函数,变量,趋向值
lim1=sym.limit(f1,x,0)
lim2=sym.limit(f2,x,0)
lim3=sym.limit(f3,x,sym.oo)
print(lim1,lim2,lim3)

求矢量的叉乘积可得到:
在这里插入图片描述

r的大小为:
在这里插入图片描述

由毕奥-萨伐尔定律
d B ⃗ = μ 0 4 π ( I d l ⃗ × r ⃗ ) r 3 dB ⃗=\frac{μ_0}{4π} \frac{ (Idl ⃗×r ⃗)}{r^3 } dB=4πμ0r3(Idl×r)
有:

在这里插入图片描述

2、算法仿真

在篇文章里有详述



3、实验结果

通过编程可得到其磁感线的分布:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值