-
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
I must admit that the warning messages might not be very responsive, so let me try to explain the origin of these three warning types and whether they have an influence on the quality of the final waveforms:
In order to simulate diffusion and self-repulsion of the charge carriers, the charge clouds need to consist of multiple charge carriers.
Charges are drifted, ideally until they reach a contact. Whenever a charge would leave the semiconductor, we determine the intersect of the last drift step vector with the surface of the semiconductor. Then we check, whether this intersection is on a contact, an uncontacted surface of the semiconductor or "something else". Usually, we would not expect "something else", because the surface should either be contacted or uncontacted. However, due to rounding errors, the charges might end up slightly in- or outside. In that case, the charge is still "in the bulk" or "outside". In that case, we still end the drift but throw the warning.
If a charge would hit an uncontacted surface of the semiconductor, the charge drift vector is projected parallel to the surface and the charge drift can be slowed down. To my knowledge, this warning appears when a charge drift would be orthogonal to the surface. Then, the projection of the charge drift step parallel to the surface is not unique. In these events, charge carriers might not reach any of the contacts but be stuck on the uncontacted surface, leading to a decrease in the waveform amplitude. I know that these warnings might be printed often, especially when simulating a huge amount of events. In order to suppress them, have a look at Suppressor.jl. You might run this as |
Beta Was this translation helpful? Give feedback.
I must admit that the warning messages might not be very responsive, so let me try to explain the origin of these three warning types and whether they have an influence on the quality of the final waveforms:
In order to simulate diffusion and self-repulsion of the charge carriers, the charge clouds need to consist of multiple charge carriers.
You are using
number_of_carriers = 100
, meaning that each energy deposit will be modeled as 100 point charges, evenly distributed on surfaces of spheres, see here. If …