pttools.bubble.transition

Useful quantities for deciding the type of a transition

Functions

pttools.bubble.transition.cannot_be_detonation(v_wall, v_cj)

If \(v_w < v_{CJ}\), it cannot be a detonation

Parameters:
  • v_wall (float)

  • v_cj (float)

Return type:

float

pttools.bubble.transition.cannot_be_sub_def(model, v_wall, wn)

If the wall speed \(v_w > c_{sb}(w) \forall w \in [0, w_n]\), then the wall is certainly hypersonic in the broken phase and must have fluid movement inside the wall to satisfy the boundary conditions. Therefore, the solution cannot be a subsonic deflagration.

Parameters:
  • model (Model)

  • v_wall (float)

  • wn (float)

Return type:

bool

pttools.bubble.transition.identify_solution_type_alpha_plus(v_wall, alpha_p)

Determines wall type from wall speed \(v_\text{wall}\) and at-wall strength parameter \(\alpha_+\).

Parameters:
  • v_wall (float) – \(v_\text{wall}\)

  • alpha_p (float) – \(\alpha_+\)

Returns:

solution type [ ‘Detonation’ | ‘Deflagration’ | ‘Hybrid’ ]

Return type:

SolutionType

pttools.bubble.transition.identify_solution_type_bag(v_wall, alpha_n, exit_on_error=False)

Determines wall type from wall speed and global strength parameter. solution_type = [ ‘Detonation’ | ‘Deflagration’ | ‘Hybrid’ ]

Parameters:
  • v_wall (float)

  • alpha_n (float)

  • exit_on_error (bool)

Return type:

SolutionType

pttools.bubble.transition.is_surely_detonation(v_wall, v_cj)

If \(v_w > v_{CJ}\), it is certainly a detonation

Parameters:
  • v_wall (float)

  • v_cj (float)

Return type:

float

pttools.bubble.transition.is_surely_sub_def(model, v_wall, wn)

If the wall speed \(v_w < c_{sb}(w) \forall w \in [0, w_n]\), then the wall is certainly subsonic in the broken phase, and therefore the solution is certainly a subsonic deflagration.

Parameters:
  • model (Model)

  • v_wall (float)

  • wn (float)

Return type:

bool

pttools.bubble.transition.max_speed_deflag(alpha_p)

Maximum speed for a deflagration: speed where wall and shock are coincident. May be greater than 1, meaning that hybrids exist for all wall speeds above cs. \(\alpha_+ < \frac{1}{3}\), but \(\alpha_n\) unbounded above.

Parameters:

alpha_p (float | float64 | ndarray) – \(\alpha_+\)

Return type:

float | float64 | ndarray

pttools.bubble.transition.validate_solution_type(model, v_wall, alpha_n, sol_type, wn=None, wn_guess=None, wm_guess=None)

Ensure that the solution type is determined or can be determined automatically

Parameters:
  • model (Model)

  • v_wall (float)

  • alpha_n (float)

  • sol_type (SolutionType)

  • wn (float)

  • wn_guess (float)

  • wm_guess (float)

Return type:

SolutionType