I have been attempting to use DDSCAT for modeling the Vis/NIR extinction spectra of gold nanorods. I am trying to recreate the ddscat 2013 simulations published in:(doi:/10.1021/jp4078344). The install is fine, I can run the example for the RCTGLPRSM, and the output all looks like it should for the example. However, when I setup a new ddscat.par file with the CYLNDRCAP geometry, the program runs and closes out before generating extinction data.

To do this I put the ddscat program, and ddscat.par file in a new directory. When I run the program it generates the mtable, qtable, qtable2 and target.out files, but not any .avg, .fml or .sca files. The qtable extinction data is empty. When executing, the program appears to make it through the 100 iterations, but then closes out after. The problem seems to be related to the aeff and/or the shape parameters. When I make the aeff too small or the shape parameters too large, then I get the problem as I described. I have been trying to keep the shape parameters large enough to have ~10000 dipoles. But if I set the aeff to match my experimental samples, then the program doesn't generate extinction data (it does seem to work for much larger aeff sizes).

Below is an example of a .par file that I have been using for a gold rod with dimensions L=37 nm (including end caps) and d=7 nm. Therefore the aeff for this geometry is 0.0068 microns. I tried to make the shape parameters a multiple of 2 (60 x 14), to get over 10000 dipoles.

I have tried this on the Windows precompiled version, as well as on a Linux system with the latest version. I would be tremendously grateful if you could give me any insight on what I might be doing wrong.

' ========== Parameter file for v7.3 ==================='

' Preliminaries '

'NOTORQ' = CMDTRQ*6 (DOTORQ, NOTORQ) — either do or skip torque calculations

'PBCGS2' = CMDSOL*6 (PBCGS2, PBCGST, GPBICG, QMRCCG, PETRKP) — CCG method

'GPFAFT' = CMETHD*6 (GPFAFT, FFTMKL) — FFT method

'GKDLDR' = CALPHA*6 (GKDLDR, LATTDR, FLTRCD) — DDA method

'NOTBIN' = CBINFLAG (NOTBIN, ORIBIN, ALLBIN) — binary output?

' Initial Memory Allocation '

100 100 100 = dimensioning allowance for target generation

' Target Geometry and Composition '

'CYLNDRCAP' = CSHAPE*9 shape directive

60 14 = shape parameters 1 - 2

1 = NCOMP = number of dielectric materials

'../diel/Au_evap' = file with refractive index 1

' Additional Nearfield calculation? '

0 = NRFLD (=0 to skip nearfield calc., =1 to calculate nearfield E)

0.0 0.0 0.0 0.0 0.0 0.0 (fract. extens. of calc. vol. in -x,+x,-y,+y,-z,+z)

' Error Tolerance '

1.00e-5 = TOL = MAX ALLOWED (NORM OF |G>=AC|E>-ACA|X>)/(NORM OF AC|E>)

' Maximum number of iterations '

100 = MXITER

' Integration limiter for PBC calculations '

1.00e-2 = GAMMA (1e-2 is normal, 3e-3 for greater accuracy)

' Angular resolution for calculation of <cos>, etc. '

0.5 = ETASCA (number of angles is proportional to [(3+x)/ETASCA]^2 )

' Wavelengths (micron) '

0.650 0.650 1 'LIN' = wavelengths (1st,last,howmany,how=LIN,INV,LOG,TAB)

' Refractive index of ambient medium '

1.333 = NAMBIENT

' Effective Radii (micron) '

0.0068 0.0068 1 'LIN' = eff. radii (1st,last,howmany,how=LIN,INV,LOG,TAB)

' Define Incident Polarizations '

(0,0) (1.,0.) (0.,0.) = Polarization state e01 (k along x axis)

1 = IORTH (=1 to do only pol. state e01; =2 to also do orth. pol. state)

' Specify which output files to write '

0 = IWRKSC (=0 to suppress, =1 to write ".sca" file for each target orient.

' Specify Target Rotations '

0. 0. 1 = BETAMI, BETAMX, NBETA (beta=rotation around a1)

0. 0. 1 = THETMI, THETMX, NTHETA (theta=angle between a1 and k)

0. 0. 1 = PHIMIN, PHIMAX, NPHI (phi=rotation angle of a1 around k)

' Specify first IWAV, IRAD, IORI (normally 0 0 0) '

0 0 0 = first IWAV, first IRAD, first IORI (0 0 0 to begin fresh)

' Select Elements of S_ij Matrix to Print '

9 = NSMELTS = number of elements of S_ij to print (not more than 9)

11 12 21 22 31 33 44 34 43 = indices ij of elements to print

' Specify Scattered Directions '

'LFRAME' = CMDFRM (LFRAME, TFRAME for Lab Frame or Target Frame)

1 = NPLANES = number of scattering planes

0. 0. 180. 1 = phi, theta_min, theta_max (deg) for plane A