maxwellian module

Create a Maxwellian distribution, to compute SEs emission distribution.

You will need to provide emission energy distribution measurements.

Model parameters

Parameter

Name

Unit

Initial

Description

\(T\)

temperature

\(\mathrm{eV}\)

\(7.5\)

Temperature distribution.

\(k\)

norm

\(\mathrm{1}\)

\(1.0\)

Distribution re-normalization constant.

class MaxwellianParameters

Bases: TypedDict

temperature: Parameter
norm: Parameter
class Maxwellian(parameters_values=None)

Bases: Model

Maxwellian distribution.

Instantiate the object.

Parameters:

parameters_values (dict[str, Any] | None, default: None) – Contains name of parameters and associated value. If provided, will override the default values set in initial_parameters.

emission_data_types: list[Literal['Emission Yield', 'Emission Energy', 'Emission Angle']] = ['Emission Energy']
populations: list[Literal['SE', 'EBE', 'IBE', 'all']] = ['SE']
considers_energy: bool = True
is_3d: bool = False
is_dielectrics_compatible: bool = False
model_config: ModelConfig = ModelConfig(emission_yield_files=(), emission_energy_files=('SE',), emission_angle_files=())
initial_parameters: dict[str, dict[str, str | float | bool]] = {'norm': {'description': 'Distribution re-normalization constant.', 'lower_bound': 0.0, 'markdown': 'k', 'unit': '1', 'value': 1.0}, 'temperature': {'description': 'Temperature distribution.', 'lower_bound': 0.0, 'markdown': 'T', 'unit': 'eV', 'value': 7.5}}
parameters: MaxwellianParameters

A TypedDict specific to every model.Model. Keys are parameters names, values are Parameter.

get_data(population, emission_data_type, energy, theta, *args, **kwargs)

Return desired data according to current model.

Will return a dataframe only if the SEs energy distribution is asked.

Return type:

DataFrame | None

find_optimal_parameters(data_matrix, **kwargs)

Fit model parameters on measurements.

Return type:

None

_maxwellian_norm(temp)

Return norm value to have distribution maximum to unity.

Maximum is at \(T/2\).

Return type:

float

maxwellian_pdf(ene, temperature, norm=None, **parameters)

Compute the energy distribution.

Return type:

float | ndarray[tuple[Any, ...], dtype[float64]]

_residue(temp, ene, measured)

Compute array of residues between model and measurements.

Return type:

ndarray[tuple[Any, ...], dtype[float64]]