Opened 9 years ago

Last modified 5 years ago

#87 accepted task

test Mie code

Reported by: peter Owned by: peter
Priority: minor Milestone:
Component: grains Version:
Keywords: Mie code Cc:

Description (last modified by peter)

The Mie code should be tested against a 2nd code and repaired where necessary. The following points need special attention:

  • for large grains "wiggles" appear on the absorption and scattering cross section. These may not be real. One example is silicate_1m000.opc.
  • when comparing Fig 2b of Li & Draine (2001, ApJ 554, 778) with our calculations, it seemed that the absorption cross section for graphite behaved somewhat differently at long wavelengths. Did we use the exact same refractive indices, or is this a deficiency in the Mie code?
  • when going to large grains, the extrapolation of the asymmetry parameter may fail. This can be mitigated by making NMXLIM larger. Is this generally safe? Should we make NMXLIM a parameter of grain size?
  • [done] should we switch to an adaptive stepsize integrator to integrate quantities over the size distribution?

Change History (1)

comment:1 Changed 5 years ago by peter

Description: modified (diff)
Status: newaccepted

Point 4 has been implemented in r7303. This fixes problems when compiling SiC opacity files, but does not make any significant difference for standard opacity files in the distribution.

Point 3 has been addressed by raising NMXLIM from 16000 to 80000. This appears to be safe as NMXLIM is only used as a maximum size of the vector a[] in sinpar(). It has however not been tested if recursion down from a[80000] produces reliable results. Very limited testing showed no problems, but this needs to be investigated more thoroughly...

Raising NMXLIM to 80000 and compiling a 5 micron silicate grain uncovered a new problem though. High-energy extrapolation of the scattering opacity is unreliable because the frequency coverage of the refractive index file is insufficient.

Point 1 has been investigated further. High accuracy calculations with the new integrator still reproduce these wiggles completely unchanged, so they are not an artifact of the integration scheme.

Note: See TracTickets for help on using tickets.