rizer.electric_circuit.nrp_circuit#

Classes#

NRPCircuit

Nanosecond Repetitive Pulsed (NRP) discharge circuit.

Module Contents#

class rizer.electric_circuit.nrp_circuit.NRPCircuit(generator: rizer.electric_circuit.generator.PurelyResistiveBaseGenerator, cable: rizer.electric_circuit.cable.IdealCable)#

Nanosecond Repetitive Pulsed (NRP) discharge circuit.

The circuit models a pulsed voltage generator connected to a plasma load through an ideal transmission line. It is used for sub-microsecond pulsed plasma applications where wave propagation and multiple reflections along the cable matter.

Topology:

[Generator] ----[Ideal cable]----[Plasma load :math:`R_p(t)`]
   :math:`R_g`         :math:`Z_c, L, c`
   :math:`V_g(t)`

The generator has a purely resistive internal impedance \(R_g\) and a time-dependent open-circuit voltage \(V_g(t)\). The cable is lossless, with characteristic impedance \(Z_c\), length \(L\), and wave speed \(c\). The plasma is represented as a time-varying resistance \(R_p\) at the far end of the line.

At the generator–cable junction:

\[\alpha_g = \frac{Z_c}{Z_c + R_g}, \qquad \Gamma_g = \frac{R_g - Z_c}{R_g + Z_c}\]

where \(\alpha_g\) is the voltage attenuation coefficient and \(\Gamma_g\) is the reflection coefficient. The plasma-end reflection coefficient \(\Gamma_p\) is computed by Γ_p().

Parameters:
generator#
cable#
R_g#
Z_c#
alpha_g#
Γ_g#
plasma_resistances: list[float] = []#
plasma_timestamps: list[float] = []#
plasma_reflection_coeffs: list[float] = []#
compute_plasma_voltage(t: float, R_p: float, nb_reflections: int) float#

Plasma terminal voltage including cable reflections.

The incident wave from the generator is attenuated by \(\alpha_g\) and may reflect back and forth between the generator (\(\Gamma_g\)) and the plasma (\(\Gamma_p\)) ends. Each round trip introduces a delay \(\tau = 2L/c\).

For nb_reflections == 0, only the first forward wave is retained:

\[V_p(t) = \alpha_g \, V_g(t)\]

Otherwise, contributions from pulses emitted at \(t - k\tau\) are summed up to nb_reflections round trips, each weighted by the product of reflection coefficients encountered along the path. The result is multiplied by the transmission coefficient \(2 R_p / (R_p + Z_c)\).

Each call appends (t, R_p, \Gamma_p) to the internal history so that past plasma resistances can be interpolated when evaluating reflections that left the plasma end at earlier times.

Parameters:
  • t (float) – Time, in seconds.

  • R_p (float) – Plasma resistance at time t, in Ohm.

  • nb_reflections (int) – Number of round-trip reflections to include. Use 0 for the direct (non-reflected) contribution only.

Returns:

Plasma terminal voltage, in Volts.

Return type:

float

Raises:
  • TypeError – If R_p is not numeric or nb_reflections is not an integer.

  • ValueError – If R_p or nb_reflections is negative.

Γ_p(R_p: float) float#

Reflection coefficient at the plasma end.

Parameters:

R_p (float) – Plasma resistance in Ohm.

Returns:

Reflection coefficient at the plasma end, dimensionless.

Return type:

float

Notes

The reflection coefficient at the plasma end is given by:

\[\Gamma_p = \frac{R_p - Z_c}{R_p + Z_c}\]

where:

  • \(R_p\) is the plasma resistance in Ohm,

  • \(Z_c\) is the cable characteristic impedance in Ohm.