我正在模拟通过两个针孔的具有不同电荷状态的离子束。我使用来自外部函数的随机角度来评估沿轴的速度分量。为了评估粒子运动,我正在求解微分方程:
O=[0 0 0]';
f = @(t,ys) [ys(4:6); O];
options=odeset('RelTol',1e-7,'Events',@(t,ys)Event_Stop_Sorgente(t,ys,Pinhole1));
[t,ys] = ode23t(f,tspan,y_sorgente(i,:),options);
只要光束没有角度扩展并且初始条件向量为 ,它就可以正常工作y_sorgente = [0 0 0 0 0 v_z]
。我想它也适用于角度扩展,因为轨迹是直线,因为它们应该是直线。外部函数从表面获取一些点,并使用它们的坐标作为方向余弦来从其模量中获取速度分量。
我遇到的问题是,只有少数电荷状态为 1+ 的粒子可以通过针孔,其他所有粒子都不能,这没有任何意义。即使每个粒子具有相同的速度模量,我也有同样的问题。我做错了什么,但我不明白是什么,有什么建议吗?如果您想检查它,我可以提供完整的代码。