SolidStateDetectors.jl
SolidStateDetectors.jl copied to clipboard
Depletion voltage with local min max search
I did not add any tests yet. How do we want to test get_depletion_voltage
? Should we test it for one of the analytic geometries or do we want to roughly compare it to, for example, the BEGe measurements
I did not add any tests yet. How do we want to test
get_depletion_voltage
? Should we test it for one of the analytic geometries or do we want to roughly compare it to, for example, the BEGe measurements
I would suggest comparing it to analytical solutions, and maybe also checking what the method yields for our standard IVC simulation and adding that as well (just to see if any code changes also influence the value of the depletion voltage).
I wouldn't include the BEGe measurements as we do not know the exact impurity profile of that detector.
Can you briefly describe what this algorithm does now?
get_depletion_voltage
works as follows: First we calculate the voltage, where the global minimum or maximum is on a contact, and not inside the semiconductor anymore. This was already implemented in the PR #250, where a description is provided. In the same PR, the correct remark was made, that this condition is not sufficient, due to the possibilities of local minima or maxima inside the semiconductor. In a fully depleted detector, those should not show up either.
Local Min Max search
The voltage, which is produced by the global min max search is used as starting voltage for the local search. Now we loop over all points inside the semiconductor, and for each point gradually increase the voltage. This is done, until the specific point is neither a local minimum or maximum. We check that by comparing the center potential, to all nearest neighbour potentials. The maximum voltage of all such points will be our depletion voltage.
I disabled the test for Cartesian case for estimate_depletion_voltage
for now.
Will look into that later.