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

Click For Summary

Discussion Overview

The discussion revolves around simulating an ion beam with multiple charge states passing through pinholes using MATLAB. Participants are addressing issues related to the simulation's setup, particularly concerning the velocity components and the behavior of particles with different charge states.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • The original poster describes their simulation setup, including the use of an ODE solver to model particle motion and the generation of random angles for velocity components.
  • Some participants point out the lack of information regarding the custom functions y_sorgente and Event_Stop_Sorgente, which are critical for understanding the ODE being solved.
  • There is a suggestion that the original poster should provide more details about the inputs to the ODE and the specific components of the velocity vector to facilitate better assistance.
  • The original poster expresses uncertainty about the random extraction of direction cosines and its impact on the simulation results, particularly regarding why only particles with charge state 1+ can pass through the pinhole.
  • One participant notes that the ODE solver itself is functioning correctly for a beam with no angular spread, indicating that the issue may lie elsewhere in the simulation setup.

Areas of Agreement / Disagreement

Participants generally agree that more information is needed to diagnose the problem effectively. There is no consensus on the specific cause of the issue with the charge states, and multiple viewpoints regarding the simulation setup and debugging approach are present.

Contextual Notes

Limitations include the absence of detailed definitions for the custom functions and the initial condition vector, which may affect the clarity of the discussion. The specific mathematical steps involved in the random extraction of direction cosines remain unresolved.

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

  • · Replies 2 ·
Replies
2
Views
7K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
10K
  • · Replies 5 ·
Replies
5
Views
6K
Replies
4
Views
4K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 29 ·
Replies
29
Views
6K