我正在使用方程模拟光脉冲的传播
∂∂z一个=12 ⋅ķ0∇2r一种
和
ķ0=2π _λ0
传播步长为dz使用等式完成
(1⃗ −i⋅dz2∇2r)An+1=(1⃗ +i⋅dz2∇2r)An
和
A0(r⃗ )=exp(−r22)
现在我添加一个焦距为f,这是使用等式完成的
A0,L=A0exp(−i|r⃗ |22f)
我现在的问题是:我离散化A沿着向量r⃗ 从0到rmax和rnum元素(径向方法)。这适用于F>Fcrit. 如果F<Fcrit,透镜因子的振荡不再正确解决,从而导致模拟中的伪影。
对于我当前的输入值,我至少需要超过50000点,但即使这样也不够,因为价值很小F.
使用该点数会增加计算时间和(在显示移动脉冲时)存储量。有什么方法可以减少点的数量,同时仍然能够解决镜头振荡?我已经在使用稀疏矩阵进行计算,但对于存储,我必须使用密集矩阵。