# Impact Avalanche Generation in Diode Example

Dear DEVSIM developer，

Recently, I want to achieve “impact avalanche generation” in DEVSIM. I have a basic question:

As we know the impact avalanche generation rate is calculated:

G = \alpha_{n} \frac{|J_{n}|}{q} + \alpha_{p} \frac{|J_{p}|}{q}

\alpha_{n} and \alpha_{p} are impact ionization coefficient from model. They are electricfield-dependent and as EdgeModel in DEVSIM.

CreateEdgeModel(device,region,"Ion_coeff_n",Ion_coeff_n)
CreateEdgeModel(device,region,"Ion_coeff_p",Ion_coeff_p)


The impact avalanche generation rate G is a function of the |J_{n}| and |J_{p}|, but |J_{n}| and |J_{p}| are EdgeModel variables to be solved in DEVSIM.

How to calculate the impact avalanche generation rate G in DEVSIM? Are there any examples?

Hi @Tao

This post from @akirt seems to be related, and would be a good basis to start a discussion:

Thank you a lot!
Now my script works well to simulate the impact avalanche.

1 Like

Dear Juan,

It is reasonable add “qGn_imp” and “qGp_imp” to field edge_volume_model in ECE and HCE in 1D simulation because the qGn_imp and qGp_imp are functions of ElectricField (Edge Variable).

I want to transfer the impact avalanche model from 1D to 2D or 3D. But in 2D & 3D condition, the qGn_imp and qGp_imp are functions of normal ElectricField, like in 2D condition \sqrt{E_x^{2}+E_y^{2}}. It is a Element Variable.

I check the present devsim.equation(), it has no corresponding parameters like - element_volume_model.
Do you have any suggestions？

Best,
Tao

Hi @Tao

Please look at these equation options:

volume_node0_model
volume_node1_model


as these are element volume model for each node on the edge. You can use the same model name for both options. The original reason for having different names is for handling cylindrical coordinate simulation in 2d.

It is experimental, so please let me know if you have any issues.

1 Like