UTA-REST / PyBoltz

This is a repository for PyBoltz, which is a Cython translation of Magboltz.
9 stars 11 forks source link

Energy Range Not Updating #18

Open jprchlik opened 3 years ago

jprchlik commented 3 years ago

After I create a gas table using PyBoltz and Odie (code snippet below), I get a maximum energy warning when loading the gas table into Garfield and run a Macro simulation. I do not think PyBoltz is actually accepting my maximum electron energy. These warning start at 40eV, which is the default energy limit in MagBoltz.

" MediumMagboltz::GetElectronCollisionRate: Rate at 86.8656 eV is not included in the current table. Increasing energy range to 91.2089 eV.

"

Set up helper object

Odie = OdieRun()

Configure settings for our simulation

base_settings = { 'Gases': ['Ar', 'CH4'], 'Fractions': [98.5, 1.5], 'Max_collisions': 1e8, 'EField_Vcm': 100, 'Max_electron_energy': 400, 'Temperature_C': 23, 'Pressure_Torr': 3100.8, 'BField_Tesla': 0, 'BField_angle': 0, 'Angular_dist_model': 2, 'Enable_penning': 1, 'Enable_thermal_motion': 1, 'ConsoleOutputFlag': 0, 'NumSamples':100 }

t_start = time.time()

Load base settings into Odie, this is required for

running on a grid.

Odie.LoadSettings(base_settings, PrintSettings=True)

Odie also can read in the settings from a JSON file

Odie.LoadSettings(JSONFileName="input.json", PrintSettings=True)

Generate output for a grid of possible EFields

mine= 1 maxe = 1e4 samp = 2 GridOutput = Odie.GenerateGasGrid(mine, maxe, samp, LogScale=True)

PhilipHB commented 3 years ago

The warning is generated by Garfield++. It does not have to be a fault on Odie's side. My guess is, that you did not set the same maximum energy in your Garfield++ program. It would then default to 40eV, see https://gitlab.cern.ch/garfield/garfieldpp/-/blob/master/Source/MediumMagboltz.cc#L46