模拟一个镜头,积分不足

计算科学 数值分析 有限差分 Python 波传播
2021-12-03 22:21:41

我正在使用方程模拟光脉冲的传播

zA=12k0r2A
k0=2πλ0
传播步长为dz使用等式完成
(1idz2r2)An+1=(1+idz2r2)An
A0(r)=exp(r22)
现在我添加一个焦距为f,这是使用等式完成的
A0,L=A0exp(i|r|22f)
我现在的问题是:我离散化A沿着向量r0rmaxrnum元素(径向方法)。这适用于F>Fcrit. 如果F<Fcrit,透镜因子的振荡不再正确解决,从而导致模拟中的伪影。 在此处输入图像描述 对于我当前的输入值,我至少需要超过50000点,但即使这样也不够,因为价值很小F.

使用该点数会增加计算时间和(在显示移动脉冲时)存储量。有什么方法可以减少点的数量,同时仍然能够解决镜头振荡?我已经在使用稀疏矩阵进行计算,但对于存储,我必须使用密集矩阵。

0个回答
没有发现任何回复~