I am simulating C3H8+ ions drifting in 1 Torr propane at 313 K. I have an ion mobility file and created a GasFile with a field range of 0.1 V/cm to 1800 V/cm, using 30 field points and logarithmic spacing. I used the printTable.C, generate.C, and read.C from the provided GasFile example.
When running read.C and plotting the ion drift velocity using view.PlotIonVelocity();, I see that the curve first shows a reasonable slope, but then drops to zero, then increasing again almost vertically. Is it only due to some extrapolation of the function due to the drop at ~1500 V/cm?
Further, view.PlotIonDiffusion(); only gives me the transverse diffusion coefficient. I can’t retrieve the longitudinal diffusion coefficient.
by default, the table of ion mobilities is interpolated using a second-order polynomial. Can you try to change it to first-order interpolation (gas.SetInterpolationMethodIonMobility(1);)? For the extrapolation towards high fields, the default is linear extrapolation. You might also want to check the mobility values in the text file, to make sure they are sensible.
For ions, the diffusion coefficients are calculated based on the Einstein relation; there is no distinction between transverse and longitudinal diffusion coefficients in this case.
Adding the line gas.SetInterpolationMethodIonMobility(1); in the read.C file does not affect the curve for the drift velocity of the ion.
The ion mobility values look good.
My question is particularly regarding the drop of the drift velocity - for me it appears unrealistic and I was worried that this might have negative impact on my simulations. I would’nt have expected any significant drop in the drift velocity at all.
I am honestly not sure whether the ion mobility interpolation causes this behaviour and how the calculation of the drift velocity is done.
The mobility values range from (40.68 Td, 0.75 cm^2/(Vs)) to (2965.53 Td, 0.30 cm^2/(Vs)).
Hi,
if there is no magnetic field, the drift velocity is simply given by the mobility times the electric field. Could you make a quick plot of mobility * electric field using your mobility values?
Can you reproduce the error or see something strange in the gas file?
I noticed that the latest update of the code has a differently defined constructor for ViewMedium:
New code: ViewMedium view(&gas);
“Old” code: ViewMedium view;
view.SetMedium(&gas);
I will finish my current simulations and then try again with a fresh clone.
Dear @VictorM
I can reproduce your plots with and without loading the gasfile. When you load your gasfile, you define the pressure and temperature to be 1Torr and 313K, if you do not load your gasfile your pressure and temperature are considered to be standard pressure and temperature: 760Torr and 293K, and this results obviously to a different translation of E/N to E and hence different drift velocity.
In the case where you load the gasfile and determine to work at 1Torr your plot of the ion velocity shows the entire data range [*] up to 1000V/cm (which should correspond with ~3000Td), while in the case where you do not load the gasfile and determine to work at 760 Torr you have only a snapshot of the data range (3000Td should correspond to ~0.76E6 V, while your plot goes only up to 0.1E6 V). I tried to play with viewMedium.SetRangeE to extend the field, but that did not work for me (I ll play a bit more and investigate why it is not working).
@hschindl I think the possibility to plot velocity also vs reduced field would help to debug these cases. I promised in the past I would have a look at it, but so far I did not work on it. I see if I can work on it in the next days.
greets
Piet
[*] What I do not understand is the number of the markers on the curve. In your txt file you have 12 values, so I would expect 12 markers on the curve. Instead I count 30 markers in the curve plotted by Garfield. So these do not correspond. Doing some manual calculation I translate your max 2965Td (at 1 Torr) to 915V/cm and I obtain a drift velocity of 0.27 E-6 cm/ns … while in the garfield-made plot I read 0.25 E-3 cm/ns for 1kV/cm … so I disagree 3 orders of magnitude with Garfield, while performing the calcuation at 760 Torr I do find the value plotted by Garfield. Anyway at 1 Torr, whatever is beyond 915V/cm is extrapolation … so indeed it is strange it bends down…
Regaring [*]: When generating the gas file using generate.C, I use 30 field points, and 30 markers are visible in the ion drift velocity plot.
The number of marker is also confusing me, as it does not match with the number of mobility values. If I set 1 Torr in the read.C, then I only see two markers.
That might make sense then … so the markers are taken from the electric field grid you defined when you made your gasfile. I read that you have a range of 0.1 - 1800V/cm in 29 steps (30 markers). Considering the number density of 3E16 cm-3 for 1Torr and 313K, this means you have a range in E/N of 0.3Td to 60Td, while your ion mobility file has only 2 entries in this range, as it goes from 40Td to 2965Td. A hypothesis might be that having only 2 ion velocity entries of your txt file within the grid kind of makes the extrapolation screw up. Could you maybe give it a try by calculating a new gasfile that covers a larger electric field, let’s say up to 9kV/cm or 90kV/cm?
Hi,
sorry for the silence, I’ve been away for two weeks with no proper internet connection. There is indeed something strange going on when mapping the table of ion mobilities to the electric field grid imported from the gas file. I’ll need to do some more debugging…
Sorry my late answer - my computer was broken in the meantime.
@Piet, I am still generating the new gas file as you suggested, it takes a long time, but meanwhile I used an old one (in generate.C, I set the field from 10 to 2900 V/cm; pressure 1 mbar).
In my simulation, I then increased the field (I use Elmer) for my setup and observed that the ions are indeed stopped in the region where the ion drift velocity curve shows the zero point, at around 1800 V/cm when using this gas file. Well…
Btw, the simulation shows the ions starting in a drift field and eventually guided into this hole in a dielectric material, where the top plate (at z=0.5cm) is set to ground, and at the bottom of the hole (at z=-0.5cm), there is a cathode set on -2500 V.
I’ll provide the results for the gas file generated for the field going up to 9 kV/cm asap.