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

error about --OmegaKPoints (scuff-neq for 1D gratings ) #88

Closed ZhihaoJia16 closed 8 years ago

ZhihaoJia16 commented 8 years ago

Hi, I am using scuff-neq to compute the Radiative heat transfer between 1D SiO2 gratings in the paper Radiative heat transfer between two dielectric nanogratings in the scattering approach 1 T1 = 310 K ,T2 = 290 K, d = 1500 nm, p' = 300 nm, a = 500 nm, δ = 750 nm, L = 100nm. Here's the files computing this structure. Doublegrating.scuffgeo.txt lowergrating.geo.txt lowergrating_253.msh.txt OKBFile.txt RunScript.txt uppergrating.geo.txt uppergrating_253.msh.txt

Here's the content of the file Doublegrating.scuffgeo

LATTICE
       VECTOR 1.5  0.0
       VECTOR 0.0  0.1
ENDLATTICE 

MATERIAL SIO2
  A1              = 8.2736e+13;
  w01             = 8.54484e+13;
  G1              = 8.46448e+12;
  A2              = 1.58004e+14;
  w02             = 2.029e+14;
  G2              = 1.06449e+13;
  A3              = 3.39786e+13;
  w03             = 1.51198e+14;
  G3              = 8.33205e+12;
  EpsInf          = 2.03843;

  Eps(w) = EpsInf + A1*A1/(w01*w01 - w*w - i*w*G1) + A2*A2/(w02*w02 - w*w - i*w*G2) + A3*A3/(w03*w03 - w*w - i*w*G3);
ENDMATERIAL

REGION UpperGrating MATERIAL SIO2
REGION Gap          MATERIAL Vacuum
REGION LowerGrating MATERIAL SIO2

SURFACE UpperGratingSurface
    MESHFILE uppergrating_253.msh
    REGIONS  UpperGrating Gap
    DISPLACED 0 0 1.1
ENDOBJECT

SURFACE LowerGratingSurface
    MESHFILE lowergrating_253.msh
    REGIONS  LowerGrating Gap
ENDOBJECT

When I run

#!/bin/bash
ARGS=""
ARGS="${ARGS} --geometry Doublegrating.scuffgeo"
ARGS="${ARGS} --Temperature UpperGratingSurface 310"
ARGS="${ARGS} --Temperature LowerGratingSurface 290"
ARGS="${ARGS} --Power"

scuff-neq ${ARGS}

get errorerror: --OmegaKPoints is required for extended geometries (aborting). So, I add OKBFile file.

1.33E-002 2.09333 31.4
6.00E-002 2.09333 31.4
1.07E-001 2.09333 31.4
1.53E-001 2.09333 31.4
2.00E-001 2.09333 31.4
2.47E-001 2.09333 31.4
2.93E-001 2.09333 31.4
3.40E-001 2.09333 31.4
3.87E-001 2.09333 31.4
4.33E-001 2.09333 31.4
4.80E-001 2.09333 31.4
5.27E-001 2.09333 31.4
5.73E-001 2.09333 31.4
6.20E-001 2.09333 31.4
6.67E-001 2.09333 31.4
7.13E-001 2.09333 31.4
7.60E-001 2.09333 31.4
8.07E-001 2.09333 31.4
8.53E-001 2.09333 31.4
9.00E-001 2.09333 31.4
9.47E-001 2.09333 31.4
9.93E-001 2.09333 31.4
1.04E+000 2.09333 31.4
1.09E+000 2.09333 31.4
1.13E+000 2.09333 31.4
1.18E+000 2.09333 31.4
1.23E+000 2.09333 31.4
1.27E+000 2.09333 31.4
1.32E+000 2.09333 31.4

The first number on each line is the --Omega value; the second number is Bloch wavevector π/1.5 (1.5 is the lattice constant in x-direction); the third number is Bloch wavevector π/0.1(0.1 is the lattice constant in y-direction).

When I run

#!/bin/bash
ARGS=""
ARGS="${ARGS} --geometry Doublegrating.scuffgeo"
ARGS="${ARGS} --OmegaKFile OKBFile"
ARGS="${ARGS} --Temperature UpperGratingSurface 310"
ARGS="${ARGS} --Temperature LowerGratingSurface 290"
ARGS="${ARGS} --Power"

scuff-neq ${ARGS}

I get .SIFlux.EMT file.

best, Thank you in advance.

HomerReid commented 8 years ago

scuff-neq doesn't support periodic geometries. I am working on that, but it won't be ready for several months.

ZhihaoJia16 commented 8 years ago

Thank you for your quick reply. Are there other ways to calculate the radiative heat transfer of the periodic structure by scuff-em or buff-em? Or other codes?

HomerReid commented 8 years ago

The only way to do this in SCUFF-EM at present would be to consider finite-size structures and extrapolate to the infinite-size limit. I am not aware of any other numerical code that could handle this structure.

My rough timeline for having this available in SCUFF-EM would be somewhere around June/July 2016.

ZhihaoJia16 commented 8 years ago

Thank you for your suggestion. I am trying that. And I'm looking forward to update of scuff-neq.