Drift-diffusion simulation for 3D produces higher currents than expected

The images of the LaGrit meshes look pretty promising. But looking into the documentation and examples, I share your view that it looks complicated. I might give it a try anyways. For now I am experimenting with your tdr conversion tool.

Regarding the GMSH aniso meshes: I have seen the linked example but did not try anything in this direction. Unfortunately, the documentation how to create and use the background mesh files is pretty hard to figure out.

@GLuek thanks for your help testing the tdr convert tool. If you have any tdr files that you can share publically, it would help me in creating a test suite.

I would really like to help you out with some tdr files, unfortunately the Synopsys EULA is quite prohibitive in this area. It even seems that Synopsys is aware of this, as from TDR Version 17 (onwards), they modified the hdf header so standard tooling (hdfviewer, h5py) is no longer working for tdr files which makes down conversion necessary.

Interesting. How long has version 17 been around? Let me know if you have any dfise parsing needs.

It was introduced in the 2022.03 release and is the default from the 2022.12 release onwards.

1 Like

I’ve also stumbled upon this recently but haven’t had a chance to try it:

1 Like

Since the bottom line of the discussion in this topic was “To obtain 1 Ampere current in the test formulated at the begin of this topic one needs a 100% delaunay mesh”, I prepared the simplest delaunay mesh on a cubic silicon sample with two contacts on the opposite faces of the cube. This 1A test on a simple cubic device is presented in the bug report
https://github.com/devsim/devsim/issues/144.
Initially, using devsim 2.7.0 or 2.8.2 and Ubuntu Linux, I could not achieve convergence. Fortunately, @Juan identified that this difficulty is related to the Linux version of devsim and helped me to solve the problem by using an alternative solver that was necessary for the Linux version of devsim. Details of the solution can be found in the link specified above. After achieving convergence, 1A test on a simple cubic device demonstrated an ideal accuracy:
Solution:
Contact Voltage Electron Hole Total
Current Current Current
bot +0.000e+00 -1.000e+00 -2.560e-23 -1.000e+00
top +1.000e+00 +1.000e+00 +2.560e-23 +1.000e+00

1 Like

Hi @AlexBur

Thank you for the investigation. As a result, I was able to identify a missing keyword from the:
devsim.get_equation_command

and put this into the Version 2.8.3 Release

While Intel MKL Pardiso is the default solver on x86_64 Windows and Linux, sometimes there are cases which fail to converge. UMFPACK is the alternative solver, and the default on Linux aarch64 and macOS. As the solvers are currently configured in devsim, UMFPACK succeeded in convergence while the other could not.

On my TODO list is to begin creating Knowledge Base topics in this forum, so that others may have an easier time debugging simulation issues.

Hi @Juan. It was a pleasure to work with you on this item. Fast, efficient, open. So devsim becomes great!

2 Likes