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

Problems for computing the spatially-resolved power by scuff-neq #83

Open klnguyen opened 8 years ago

klnguyen commented 8 years ago

Hi, I am using scuff-neq to compute the spatially-resolved power of a half-space at a point. The half-space is approximated by a large cylinder of 100 mircometer radius and of 100 micrometer thickness. Figure 1 shows the surface mesh of cylinder. The mesh of top surface is refined in a region of 1 micrometer radius. The element size in this zone is about 0.125 micometer.

Gold and SiC cylinders are considered. Their permeabilities Mu are equal to 1 and their permitivities Eps are given in the attached file below.

Figure 2 represents the spectrum of z-component tau_z of the Poynting vector of a gold cylinder, given in the .SRFlux file, at the point A close to the top surface. This point is located at a distance of 0.1 micrometer above the center of the top surface. Regardless the values et high frequencies which are not correctly computed due to the FE discretization, the other values of tau_z are negatives in the whole frequency range. I think they should be positive. Could these negative values of tau_z be due to the direction of the vector normal to the surface, defined in the scuff code? (Does the scuff code define the normal vector in the inner or outter direction away from the surface?)

The left figures of Figures 3 and 4 compare |tau_z| of Gold and SiC cylinders at the point A with the reference results tau_z,ref of the half-space (black curves). We note that the x and y-axis are presented in the lograithmic scale. The ratio between numerical and reference results are also shown by the right figures. We can observe that the behavior of numerical results are consistent with the reference results but their ratio yields a factor about 1e-13--1e-12 in the whole frequence range. We haven't understood the reason for this strong difference.

Is you know the reason for these observations, please tell me. Thank you very much.

Kind regards. figure

HomerReid commented 8 years ago

Most of the fudge factor is probably accounted for by unit conversions. The default units in SCUFF are

This means that Poynting-vector components are reported in units of watts / micron^2, which differ by a factor of 10^12 from watts / meter^2. Could that be the source of the discrepancy?

Alternatively, keep in mind that spatially-resolved flux values at individual frequencies are spectral densities which need to be multiplied by bandwidths (quantities with units of frequency) to yield actual fluxes. Since the default frequency unit in SCUFF-EM is 3e14 rad /sec, it seems likely that this factor is what is floating around in your comparisons, particularly in Figure 4.

I think the situation regarding units and output quantities in SCUFF-NEQ is described pretty clearly here:

http://homerreid.github.io/scuff-em-documentation/applications/scuff-neq/scuff-neq/

but let me know if this is confusing.

Could these negative values of tau_z be due to the direction of the vector normal to the surface, defined in the scuff code?

No, that does not matter here.

Do you observe that the sign is always flipped relative to what you expect? In that case there is probably just an overall minus sign somewhere. I will look into that, but if that is the only difficulty then it shouldn't impede your work for the time being.

Alternatively, if you only notice sign errors at some evaluation points, and especially if this happens close to surfaces, then you are probably running into the inaccuracy of field computations in the immediate vicinity of panels. This is fixed in the Overhaul201512 code branch and will be merged into the master branch soon.

HomerReid commented 8 years ago

I've made further improvements to SCUFF-NEQ in the current version of the Overhaul201512 branch. See my comments on #85.

Free free to keep this issue open by asking more questions, or close it if you are satisfied.

klnguyen commented 8 years ago

Thanks a lot. I will try it.