autoignition
Figure()
Class for creating ignition delay time figures with the standard layout:
- Inverse temperature (1000/T) x-axis (bottom)
- Log-scale IDT y-axis
- Secondary temperature x-axis (top)
Attributes:
| Name | Type | Description |
|---|---|---|
ax_temp |
Temperature axis. |
|
ax_inv |
Inverse temperature axis. |
|
prop_groups |
dict[str, dict]
|
Property groups. |
exp_props = {'linestyle': 'None', 'marker': 'o', 'capsize': 5}
class-attribute
instance-attribute
Default properties for errorbar plots.
sim_props = {}
class-attribute
instance-attribute
Default properties for all simulation line plots.
T_lim: tuple[float, float]
property
writable
Get/set the temperature [K] limits of the figure.
IDT_lim: tuple[float, float]
property
writable
Get/set the ignition delay time [s] limits of the figure.
plot_exp(T: list[float] | np.ndarray, IDT: list[float] | np.ndarray, *groups, **kwargs)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
T |
list[float] | ndarray
|
Temperatures [K]. |
required |
IDT |
list[float] | ndarray
|
Ignition delay times [s]. |
required |
*groups |
Property group names. |
()
|
plot_sim(T: list[float] | np.ndarray, IDT: list[float] | np.ndarray, *groups, **kwargs)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
T |
list[float] | ndarray
|
Temperatures [K]. |
required |
IDT |
list[float] | ndarray
|
Ignition delay times [s]. |
required |
*groups |
Property group names. |
()
|
Simulation(gas: ct.Solution | str, T: float, P: float, X: str | dict[str, float])
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
gas |
Solution | str
|
Cantera gas phase object or filepath to mechanism. |
required |
T |
float
|
Temperature [K]. |
required |
P |
float
|
Pressure [Pa]. |
required |
X |
str | dict[str, float]
|
Species mole fractions. |
required |
t: npt.NDArray[np.float64]
property
Reactor elapsed time [s].
T: npt.NDArray[np.float64]
property
Reactor temperature history [K].
P: npt.NDArray[np.float64]
property
Reactor pressure history [Pa].
run(t: float = 1)
This function returns self to support call chaining.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
t |
float
|
Simulation end time [s]. |
1
|
save(filepath: str) -> str
Note
If filepath doesn't end with ".yaml", it will be appended automatically.
Warning
save will overwrite an existing file with the same filepath.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filepath |
str
|
Filepath to save the state data. |
required |
Returns:
| Type | Description |
|---|---|
str
|
Filepath of saved state. |
restore(filepath: str, mech: str)
classmethod
Warning
Integrator state is not preserved; therefore, continuing a simulation from saved state data, although it will yield essentially the same results, will not exactly match a simulation ran without saving and reloading, as the integrator must take smaller steps initally.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filepath |
str
|
Filepath to the saved state data in YAML format. |
required |
mech |
str
|
Mechanism file to reinitialize the simulation and state. |
required |
X(species: str) -> npt.NDArray[np.float64]
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
species |
str
|
Name of species. |
required |
Returns:
| Type | Description |
|---|---|
NDArray[float64]
|
Mole fraction history for the |
ignition_delay_time(species: str | None = None, *, method: str = 'inflection') -> float | None
Calculates the ignition delay time from the reactor temperature history, or species mole fraction if given,
using the specified method.
Note
Returns None if the ignition delay time is at the end of the simulation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
species |
str | None
|
Name of species. |
None
|
method |
str
|
Method used to calculate ignition delay time.
|
'inflection'
|
Returns:
| Type | Description |
|---|---|
float | None
|
Ignition delay time [s]. |
get_top_species(n: int | None = None, *, exclude: str | list[str] | None = None) -> list[str]
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
n |
int | None
|
Number of species to include - all species are included by default. |
None
|
exclude |
str | list[str] | None
|
Species to exclude. |
None
|
Returns:
| Type | Description |
|---|---|
list[str]
|
List of top |
SimulationPool(max_workers: int | None = None, output_dir: str | None = None, process_func: Callable[[Simulation], Any] | None = None)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
max_workers |
int | None
|
Maximum number of worker processes. |
None
|
output_dir |
str | None
|
Directory to output simulation files. |
None
|
process_func |
Callable[[Simulation], Any] | None
|
Optional function to process simulation results. |
None
|
submit_simulation(mech: str, T: float, P: float, X, *, filename: str | None = None) -> int
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
mech |
str
|
Filepath to Cantera mechanism. |
required |
T |
float
|
Temperature [K]. |
required |
P |
float
|
Pressure [Pa]. |
required |
X |
Species mole fractions. |
required | |
filename |
str | None
|
Name of the output simulation file (default: |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
id |
int
|
Simulation ID number. |