rizer.hybrid.engineering_model.model.diffusion#

Classes#

DiffusionModel

Compute temperature and pressure during the diffusion phase.

Module Contents#

class rizer.hybrid.engineering_model.model.diffusion.DiffusionModel(inputs: rizer.hybrid.engineering_model.dataclass.diffusion.DiffusionInputs)#

Compute temperature and pressure during the diffusion phase.

Main assumptions of the diffusion model are:

  • (a1) Plasma remained within an enclosed surface during the expansion.

  • (a2) Isentropic expansion.

  • (a3) Constant number of particles.

  • (a4) Ideal gas.

  • (a5) 1D cylindrical configuration.

  • (a6) Uniform pressure (equal to P_out), incompressible flow.

  • (a7) Calorically perfect gas and constant thermal diffusivity.

  • (a8) Gas initially at rest.

  • (a9) Splitting of the timescales associated with VT energy transfer and expansion. (loosely coupling only).

  • (a10) Rectangular initial profiles for T.

  • (a11) Dirichlet boundary condition, T(ξ_exp R_d, t) = T_out.

The refined model does not presuppose the assumptions (a7) and (a11).

Parameters:

inputs (DiffusionInputs) – Inputs for the diffusion model.

inputs#
diffusion_model#
zeros_bessel_j0#
last_T3#
r_refined#
T3_simple_model(t: float, T2: Callable[[float], float]) float#
T3_intermediate_model(t: float, T2: Callable[[float], float]) float#
T3_refined_model(t: float, T2: Callable[[float], float]) float#
T3(t: float, T2: Callable[[float], float]) float#
P3(t: float, P2: Callable[[float], float]) float#
solve(t_eval: numpy.ndarray, T2: Callable[[float], float], P2: Callable[[float], float]) rizer.hybrid.engineering_model.dataclass.diffusion.DiffusionOutputs#

Compute the temperature and pressure at the given time points.

Parameters:

t_eval (numpy.ndarray) – Time points at which to evaluate the temperature and pressure.

Returns:

Temperature and pressure at the given time points.

Return type:

DiffusionOutputs