HomerReid / scuff-em

A comprehensive and full-featured computational physics suite for boundary-element analysis of electromagnetic scattering, fluctuation-induced phenomena (Casimir forces and radiative heat transfer), nanophotonics, RF device engineering, electrostatics, and more. Includes a core library with C++ and python APIs as well as many command-line applications.
http://www.homerreid.com/scuff-em
GNU General Public License v2.0
126 stars 50 forks source link

SiliconSlabs example in wiki #94

Closed cyhng closed 7 years ago

cyhng commented 8 years ago

It is a question about the 2D periodic extended object example "SiliconSlabs"

It is actually a Silicon parallel plates problem. problem2

We can compare SCUFF results with Lifshitz formula. problem2b

When separation is down to 0.1 micron (common seen in MEMS), decrepancy between numerical and analytical result becomes very huge. Is it due to insufficient meshing? Can we get around it without adding mesh because it is numerically costly.

Thanks in advance

HomerReid commented 8 years ago

Thanks for this question and for taking the time to augment your post with pictures and a data table.

The answer to your first question is yes: the error you see here is associated with insufficient mesh resolution. For Casimir calculations, a rule of thumb is that the lengths of the triangle edges should be significantly smaller than the distance of closest separation between the surfaces. In this case the unit-cell length is 1 micron and the triangle edges have lengths on the order of 0.1-0.2 micron. So Casimir calculations with this mesh won't be accurate for surface--surface separations of less than 0.1-0.2 microns.

The only way to get around this is to reduce the size of the triangles. For an object with fixed surface area (say, a sphere or other compact object of fixed size), this unavoidably increases the computational cost, as you note.

However, for periodic geometries like this there is an alternative: Shrink the size of the unit cell! In the .scuffgeo file you are using, the unit-cell lattice constant is L=1 micron. This is an appropriate unit-cell size for studying Casimir forces at surface-surface separations on the order of d=1 micron. For shorter separations (say d=10 nm) it will be more efficient to use a lattice constant of L~10 nm.

Changing the lattice constant is easy, and involves two steps:

(a) Create a new .msh file describing a square mesh like the ones you are currently using, but with edge length 10 nm instead of 1 um. (Since the default length unit is 1 um, this means your GMSH geometry file will describe a square with edge length L=0.01). You can continue to use a mesh resolution of L/4 or L/6 as in the pictures above; this means now the triangle edges will have lengths on the order of ~ few nanometers, so the geometry should be suitable for studying Casimir forces at separations of 10 nm or more.

(b) Modify the LATTICE statement in the .scuffgeo file to describe a square lattice with lattice constant 10 nm instead of 1 um, i.e. say

LATTICE
     VECTOR 0.01 0.00
     VECTOR 0.00 0.01
ENDLATTICE

Now the Brillouin-zone integration performed internally by SCUFF-CAS3D will be taken over the (much larger) Brillouin zone of the new reciprocal lattice, so the Brillouin-zone integral may require slightly longer times to complete, but it should still be pretty fast, and definitely faster than meshing the full L= um at nanometer-scale resolution.

Please give this a try and post an updated version of the above table describing your results.