miller_gain
miller_gain( voltages: collections.abc.Sequence[typing.Annotated[float, units='V']], *, breakdown_voltage: Annotated[float, exclusiveMinimum=0, units='V'], exponent: Annotated[float, exclusiveMinimum=0] = 3.0, punch_through_voltage: Annotated[float, minimum=0] = 0.0, max_multiplication: Annotated[float, exclusiveMinimum=0] = 1000.0,) -> photonforge.InterpolatorTabulate Miller’s empirical multiplication curve.
Below punch_through_voltage the depletion region has not reached the
multiplication layer, so the gain is held at 1. The curve is clipped at
max_multiplication because it diverges at breakdown and a compact model
should not return infinity.
All voltages are reverse-bias magnitudes, so pass positive numbers.
Args
- voltages: Reverse bias grid to tabulate over, in V.
- breakdown_voltage: , in V.
- exponent: , typically 2 to 6. Fit it to a measured gain curve.
- punch_through_voltage: Below this the gain is 1, in V.
- max_multiplication: Clip value near breakdown.
Returns
Interpolator of against reverse bias, clamped outside the
grid, ready to pass as multiplication.