利用matplotlib模拟电磁波垂直入射地面的动态传播示意图
电磁波在空气中或真空中以波动的形式向前传播,电磁场强度基本没有衰减,传播速度约为光速;假设平面电磁波垂直入射进均匀地下介质,由于大地是个良导体,电磁场会迅速衰减,能量被吸收和损耗,根据电磁场理论可知在地下电磁波波长 λ = 10 ρ / f \lambda=\sqrt{10\rho/f} λ=10ρ/f(km),可见电磁波波长远小于真空中,由于频率参数是固定不变的,所以在地下的传播速度也会同比例的减小( λ = v / f \lambda=v/f λ=v/f)。
由于波动曲线随时间的真实变化是很难用计算机绘制的,但可以利用空间的曲线变化来近似模拟和示意电磁波随时间的变化和动态传播过程。本文利用matplotlib库来模拟这个过程。以下均假定大地电阻率 ρ = 100 Ω . m \rho=100\Omega.m ρ=100Ω.m。
1.电磁波频率 f = 10 H z f=10Hz f=10Hz,代码如下:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
fig, (axu, axb) = plt.subplots(
nrows=2,
sharex=True,
figsize=(3, 6),
gridspec_kw=dict(height_ratios=[1, 1], hspace=0),
)
plt.subplots_adjust(left=0.1, hspace=0