调试电磁计算问题,最好是先从简单情况入手。之前已经用Matlab实现了半空间垂直磁偶极子的电磁场分布的计算,现在将其移植到Python环境下。
1 待求解公式
公式是现成的,纳比吉安一书199页 公式4.4.56及4.4.59如下所述:
分别为垂向分量和径向分量。公式4.4.56的实现需要用到指数函数,而公式4.4.59的实现需要用到修正的第一类贝塞尔函数I和第二类贝塞尔函数K。使用Python的numpy和scipy就可以实现。
2 算法实现
这个公式的实现比较简单,假设在距离场源距离为r处有1个接收点,指定频率,半空间电阻率,磁矩就可以计算出磁场场量。如果有一系列的点,用循环即可实现。然后用matplotlib实现绘图即可。
# -*- coding: utf-8 -*-
"""
Created on Tue Jan 10 17:32:11 2023
@author: Joe
"""
# 计算均匀大地垂直磁偶极源的磁场径向和垂直分量
# 纳比吉安199页 公式4.4.56及4.4.59
# 已验证正确性
# 引入依赖包
import numpy as np
import cmath
import scipy.special as ss
import matplotlib.pyplot as plt
# 常