Noise at interfaces - reducing mesh size does not help



I am trying to calculate electric field distribution in MOS capacitor. I slightly modified the standard example of the MOS

capacitor. Now, instead of one gate dielectric layer I have two different dielectric layers, 2 nm thick and 8 nm thick. I

define very fine mesh and run the file for zero voltage. I also reduced minimal mesh size from the settings of CHARGE

solver. However, after I run my file and perform interpolation on a grid
xrect = -101e-9:0.0021e-9:101e-9;
zrect = -5
my data looks very noisy at the interfaces between different materials (see attached image).
How can I fix this issue?

Ruzanmoscap_2_dielectrics.ldev (5.6 MB)


Hi @sokhoyan, even though you have very small mesh settings in your file, given that your mesh setting is so fine, the solver is not refining the mesh up to the full extent that you want. If you look at the log file you will see some warning messages. (see this post to learn about why this warning message is generated and how to fix it: How to resolve warning message: “The mesh is valid but may not be adequately refined”).

If you calculate the mesh and look at the “grid” data, you can look at the “area” of each triangle in the mesh. You can see that the minimum area of a triangle in your mesh is about ~1e-21 m^2. If we assume equilateral triangles for simplicity then that gives us a minimum edge length of about 1e-4 um or slightly less than that. This is much larger than the resolution of your rectangular grid (2e-6 um). This is why you are seeing a noisy result.

In the above mentioned post, you will see that you can help the solver refine the mesh more by making the iteration limit larger. However please keep in mind that since you are trying to make the mesh extremely fine, you will end up with an extremely large number of grid points. For example, the x span of your simulation region is 0.1 um. If you enforce a mesh size of 1e-7 um along that length then you will have 1e6 points along just one line. Make that 2D and we are looking at at least 1e9 points (even if you have 1000 points in the z direction). You will need a computer with a very large memory to solve that problem.

Finally, I think the more important question is why you are using such a fine mesh? Once you are below 1 Angstrom or 0.1 nm, you are already in the regime comparable to the dimension of a single atom. Do you really need to make the grid even finer than that?