MATLAB [MatLab] Edit Delete Help with ion beam with many charge states

AI Thread Summary
The discussion centers on simulating an ion beam with varying charge states passing through pinholes, using an ODE solver to model particle motion. The user is encountering an issue where only particles with a charge state of 1+ can pass through the pinhole, despite all particles having the same velocity modulus. The user acknowledges a lack of clarity in their initial question and notes that the problem likely lies in the random extraction of direction cosines for velocity components. They clarify that the ODE solver is functioning correctly in a drift zone without applied fields and provide details about the initial condition vector and the purpose of the Event_Stop function. Suggestions from others emphasize the need for more specific questions and debugging efforts, as well as the importance of sharing relevant code and inputs to facilitate better assistance.
1Keenan
Messages
99
Reaction score
4
I'm simulating an ion beam with different charge states passing through two pinholes. I'm using random angles, from an external function, to evaluate the velocity components along the axes and solving the differential equation:

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);

for the particle motion. The external function get some points from a sferic surface and uses their coordinates as direction cosine to get the velocity components from its modulus.

The problem I have is that only few particle with charge state 1+ can pass the pinhole, all the others can not and it doesn't make any sense if each particle has the same modulus of velocity. I'm doing something wrong, but I can't understand what, any suggestion?
 
Physics news on Phys.org
you haven't shown us y_sorgente or Event_Stop_Sorgente which are the two custom files specific to the ODE you're working on. You also haven't explained what your inputs (ys) are and what ys(4:6) consists of.

Just posting the code won't garner much replies though, either, you really have to debug a bit and nail your problem down so that you can ask a more specific question. Try tracking your problem down. You may even solve it without our help!
 
Sorry, I made a mistake in the title.
It was supposed to be "Help with ion beam with many charge states"
I don't know where "edit delete" comes from... :(
 
Pythagorean said:
you haven't shown us y_sorgente or Event_Stop_Sorgente which are the two custom files specific to the ODE you're working on. You also haven't explained what your inputs (ys) are and what ys(4:6) consists of.

Just posting the code won't garner much replies though, either, you really have to debug a bit and nail your problem down so that you can ask a more specific question. Try tracking your problem down. You may even solve it without our help!

I don't have problem in the ode solver. I posted it just to say that I was solving the motion in a drift zone, with no field applied on the particles. it works fine for a beam with 0 angular spread.
Anyway y_sorgente is the initial condition vector it looks like: y_sorgente=[0 0 0 v_x v_y v_z]
Event_Stop is a function to stop the ode solver when the particles reach a certain point.

My problem is with the random extraction of direction cosines, I think.

P.S.: sorry for disturbing, you can delete this thread if it bothers you, I don't care.
 

Similar threads

Back
Top