thunderboltz.Process
- class thunderboltz.Process(process_type, r1=0, r2=1, p1=0, p2=1, threshold=0.0, cs_func=None, cs_data=None, name=None, differential_process=None, nsamples=250)[source]
A reaction process determined by reaction and product indices, a process type, a potential threshold, and a corresponding cross section specification.
- process_type: str
Elastic | Inelastic | Ionization
- r1,r2,p1,p2: int (0,1,0,1)
The indices of the reactants and products.
- threshold: float
The threshold value for the process (e.g. the binding energy of an ionization process).
- cs_func: callable
Function that returns the cross section for this process in \(\mathrm{m}^2\) given an incident electron energy in eV (center of mass frame).
- cs_data: 2-D Array-Like
Tabular cross section data with columns of energy (eV) and cross section (\(\mathrm{m}^2\)).
Attributes
SAMPLE_MAXSAMPLE_MINcs_funcnsamplesMethods
add_differential_parameters(name, params)Typically differential processes require analytic forms due to the difficulty of extrapolation in several dimensions.
Check if the cross section needs a dense grid or not by comparing simple and dense grids.
Ensure there is some kind of cross section data associated with this process.
sample_cs([e_points, grid_type, nsamples])Sample self.cs_func on a grid of energies.
to_cs_frame(a)Convert any kind of two-dimensional data to a pandas DataFrame with columns Energy (eV) and Cross Section (m^2)
to_df()Convert to properly formatted pandas DataFrame.
Enforce the ThunderBoltz required cross section format.