Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of bubble depletion check in the "estimate_depletion_voltage" function #423

Open
zpdg opened this issue Oct 18, 2024 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@zpdg
Copy link

zpdg commented Oct 18, 2024

Hi, everyone. I use SSD.jl (V0.10.2) to simulate a p-type BEGe detector ($r \times h= 40 \times 42.6$ mm, bias voltage = 4500 V). The expected depletion voltage would be above 3000 V.

However, the result of estimate_depletion_voltage is around 1400 V. So, I change the bias to 2000 V and the is_depleted does return a "true", but there is a bubble in the center of the detector (in the field plot). The hole might end up in the bubble instead of the contact. So, 2000 V might be able to deplete the detector but not enough to get rid of the bubble.

The code "estimate_depletion_voltage" only makes sure that the potential in the detector is within the range of 0 ~ bias voltage but couldn't avoid the bubble inside, while the bubble reflects a local minimum of potential inside detector (not on the boundaries).

The config is uploaded in the siggen format. (I load it with sim=Simulation{T}(siggentodict(readsiggen("./test.txt"))))
test.txt

I found that the issue #250 and #311 has talked about the problem. The docstring in the code of old_estimate_depletion_voltage shows the idea of the bubble check ("No bubble" should be equivalent to "the gradient of the superposition field $EP_i + U_D * EP_0$ becomes nowhere zero inside"). However, the result of old_estimate_depletion_voltage is also around 1400 V.
Image

I also used the siggen to calculate the depletion voltage. The result is 3560 V, which seems correct. There are three steps to calculate the depletion voltage in siggen:

  1. find the voltage that makes sure "the gradient of the superposition field $EP_i + U_D * EP_0$ becomes nowhere zero inside"
    Image
  2. find the voltage that make sure no bubble exists
    Image
  3. The depletion voltage is chosen to be the bigger one
     

Is my understanding of this correct? Will you add the implementation of the bubble depletion check in the "estimate_depletion_voltage" function? I can contribute on this, but it might take me some time since I am not very familiar to julia.

@fhagemann
Copy link
Collaborator

Sometimes you get weird results when the potentials defined in the config files are below the depletion voltage.

When you calculate the electric potential before determining the depletion voltage, do you set depletion_handling=true ?

@zpdg
Copy link
Author

zpdg commented Oct 18, 2024

Sometimes you get weird results when the potentials defined in the config files are below the depletion voltage.

When you calculate the electric potential before determining the depletion voltage, do you set depletion_handling=true ?

Yes, I have set depletion_handling=true. And I got the incorrect depletion voltage (1400 V) under a big enough bias voltage (4500 V). You can reproduce this with the config file I upload (change the bias voltage in the file to 4500 V first).

My understanding is that the function estimate_depletion_voltage doesn't consider the bubble effect, so the predicted depletion voltage is smaller than expected. Besides, the bubble effect is more likely to appear on the BEGe. I have tested with the public IVC config (public_ppc_config_SigGen.config), and the depletion voltage seems correct and in agreement with the result from mjd_siggen.

@fhagemann
Copy link
Collaborator

Alright thanks, we will have a look into this

@fhagemann fhagemann assigned apmypb and unassigned fhagemann Nov 3, 2024
@fhagemann fhagemann added the bug Something isn't working label Nov 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants