各位板友好,我的问题大概是这样
我想利用4th order Runge-Kutta方法追踪带电粒子在静电磁场中的轨迹,这个静电磁场
无法用解析方法表示,所以我用Interpolation分别建立电场和磁场的内插函数,再来按照
4th order Runge-Kutta处理两个couple的微分方程的方式写一个函数rk4,然后用
NestWhile执行rk4
4th order Runge-Kutta
https://i.imgur.com/qSgdghB.png
其中efr、efz、Br和Bz都是电磁场的内插函数
https://i.imgur.com/raE1PUy.png
不过计算的粒子数量一多就需要耗费不少时间,我觉得应该是我的程式写得不太好,想请
问各路高手该如何提升计算效率,compile rk4对计算时间没有显著影响,我目前觉得问
题应该是出在内插函数算太慢,这有办法处理吗? Interpolation后的函数应该不用再
compile吧? 还是说rk4本身就不应该那样写? 感恩感恩
compile rk4 (没影响)
https://i.imgur.com/szV0baY.png