Let lambda_true = true wavelength (in vacuo) at the frequency of interest,

m_true = true complex refractive index of the target material at that frequency,

m_mediumtrue = true (real) refractive index of the medium at that frequency,

aeff_true = true aeff of the target in physical units.

The "true" problem is equivalent to scattering in vacuo by a target of size

aeff=aeff_true,

wavelength lambda=lambda_true/m_mediumtrue,

target material refractive index m=m_true/m_mediumtrue

So if you set ddscat.par to have

m_medium=1

aeff=aeff_true

wavelength=lambda_true/m_mediumtrue

and change your dielectric function table so that it is a table of

lambda_true/m_mediumtrue and m_true/m_mediumtrue

DDSCAT will solve a problem equivalent to the problem of interest.

The dimensionless Q values returned by DDSCAT will be

Q= (physical cross sections for absorption or scattering)/(pi*aeff_true^2)

You should confirm this for yourself with some simple test calculation (e.g., for a sphere in water) where you have an independent method for getting the exact result.

I am trying to calculate the Qabs of a target immersed in water with wavelength ranged from 300 nm to 700 nm. Since the refractive index will change with the wavelength frequency, how should I set the refractive index in DDSCAT.par? It seems I could only set a special number instead of variables changing with wavelength. Thanks very much! ]]>