Questions about negative ion velocity when using AvalancheMC

When I open avalMC->EnableDebugging( ) ;I get the following information. I’m curious how to calculate the velocity, especially 0.0001.

In my code,the temperature is 293.15K,the pressure is 760torr,and the electric field is uniform.

double wid=6;
double height = 6;
double vAnode = 0;
double vCathode = -2000; // V
cmp.AddPlaneY(0, vCathode, "cathode");
cmp.AddPlaneY(height, vAnode, "anode");

This is the mobility of negative ions I loaded.

I found the reduced electric field in my programme is smaller than 5Td (the minimum in mobility data)

So can you tell me:

  1. how to calculate the velocity?
  2. how AvalancheMC add Diffusion for negative ions ?
    Although I read the source code, I still do not understand. I really need to understand these,look forward to your reply.Thanks in advance.

Ok, that is indeed strange. If you have a uniform field the drift velocity should be the same everywhere. When reading in the mobility file, the mobility values are scaled to the pressure and temperature in the gas. The velocity is then simply given by mobility times electric field.
The diffusion step is calculated the same way as for electrons. After every “drift step” (along the direction of the drift velocity vector), a random diffusion step is added (sampled from a Gaussian distribution). The width of the Gaussian is given by the diffusion coefficient. For ions, the diffusion coefficient is calculated according to the Einstein relation.

I did a test, the result was very strange. I loaded different negative ions mobility data respectively,,turn on debug (avalMC->EnableDebugging() ), found the velocity information is the same( 0.000841 and 0.000001 were found)

this is the mobility data I loaded respectively,.

the uniform eletric field is 333V/cm. So why can’t get the right velocity information? Looking forward your reply.Thanks a lot

Dear @hschindl, Could you help me have a look?Thank you in advance!

I think there is an issue with the truncation of the numbers in the debug printout. The calculation of the velocity seems correct though. I ran a little test (see the attached program) and the drift time is consistent with what you would expect.

test.C (1.2 KB)

I noticed that AvalancheMC currently stores the trajectories of the negative ions in the same container as the positive ones. Will fix that…

yes, I understand. Thank you very much and look forward to your fix.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.