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

Bug in object::calculateDisplacement #111

Open
HugoPotgieser opened this issue Jul 29, 2020 · 2 comments
Open

Bug in object::calculateDisplacement #111

HugoPotgieser opened this issue Jul 29, 2020 · 2 comments
Labels

Comments

@HugoPotgieser
Copy link

HugoPotgieser commented Jul 29, 2020

I have found a bug that causes some issues for very low electric fields (also for low N_events)

In getSteadyCurrentDensity, the sum of the displacements of individual carriers is used to calculate the steady current density. The z-displacement of an individual carrier is calculated by 'calculateDisplacement', case 3. I have noticed that it takes the absolute value of this displacement, before all the displacements are summed. Carriers that go in the -z direction are counted as if they move in the +z direction. Ofcourse, for most simulations all carriers will have moved in the +z direction after some time, but still (I don't want to cause alarm). Maybe I have the directions reversed, but you get the point.

I have replicated some data from a paper by Bobbert et al. and Excimontec gets identical results (which is very nice), except at low E-fields. I suspect this is due to the bug.

I have done some other tests with the bug fixed (and they give the correct results). If you want I can send some details

best, Hugo Potgieser (Koster group)

@MikeHeiber MikeHeiber added the bug label Aug 3, 2020
@MikeHeiber
Copy link
Owner

Thanks for identifying and reporting this issue. It does indeed sound like a bug, and I think the same bug is present in the time-of-flight charge transport simulations. It sounds like this should cause an overestimation of the mobility at very low electric fields. Is this what you are seeing? I'll do some testing and try to get a fix into the main release. Is there a set of conditions where the mobility is known from master equation modeling that I could use as a validation test? If possible, I'd like to build a test for this issue into the test suite.

@HugoPotgieser
Copy link
Author

HugoPotgieser commented Aug 3, 2020

Hello Mike,

The overestimation of the mobility is indeed what we observed, when I tried to replicate data from the paper 'Effect of Coulomb correlation on charge transport in disordered organic semiconductors' (DOI: https://doi.org/10.1103/PhysRevB.96.205203). The data is from Figure 1; I have attached the comparison graph for which I used webbplot digitizer to obtain the data from the paper. I used 15 million equilibration events and 5 million regular events (doing more regular events was seen to decrease the overestimation, probably because the carriers will have moved in one direction as time progresses)

BoB

I did not compare to ME equation results, but the paper has those too, in Figure 1 and Figure 2. They discuss all relevant parameters so that might be good for the validation test.

best, Hugo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants