aluque / bolos

An open source solver for the Boltzmann equation
44 stars 26 forks source link

Using bolos with Phelps cross section data set #6

Open ndisner opened 3 years ago

ndisner commented 3 years ago

When loading in the Phelps cross section data set for molecular nitrogen the parser informs the user that After subtracting INELASTIC from EFFECTIVE, target N2 has negative cross-section. There is an instance where this operation takes place and calls a function padinterp where the function interpolates the data but there are additional elements that are being added to the cross section, and am curious if this could be the root of the negative cross section. Any information on why a negative cross section is occurring would be great, has anyone tested the Phelps total cross sections?

arichar6 commented 3 years ago

I think the problem is in the padinterp function, defined here. This seems to be returning the last value of the cross section, even for energies past the upper bound of the cross section data.

In the Phelps dataset, the "effective" cross section is defined for energies that exceed the upper bound of the ionization cross section. This leads to the case where the artificially constant ionization cross section is being subtracted from the exponentially decreasing effective cross section. Which inevitably leads to negative values for the estimate of the elastic cross section.

It seems like changing the extrapolation method used in padinterp would probably solve this issue. But I'm not sure what the best extrapolation method would be.