dustem_serkowski.pro 772 Bytes
FUNCTION DUSTEM_SERKOWSKI, x, ka=ka, xmax=xmax, pmax=pmax
  IF N_PARAMS() EQ 0 THEN BEGIN  
     print,'FUNCTION SERKOWSKI, x, ka=ka, xmax=xmax, pmax=pmax '
     print,' computes the Serkowski law (Draine & Fraisse 2009)'
     print,''
     print,' X    (I): array(n_qabs) inverse wavenumber in 1/microns'
     print,' KA   (I): K factor'
     print,' XMAX (I): x-position of max'
     print,' PMAX (I): max polar. fraction'
  ENDIF
 IF n_elements(KA) EQ 0 THEN ka = 0.92 ; Draine & Fraisse (2009)
 IF n_elements(XMAX) EQ 0 THEN xmax = 1.82
 IF n_elements(pMAX) EQ 0 THEN pmax = 0.03

 yy = pmax * EXP( -ka * ALOG(xmax/x)^2 )
 x0 = 1/1.39
 y0 = pmax * EXP( -ka * ALOG(xmax/x0)^2 )
 ix = WHERE( x LE x0, cx )
 IF cx GT 0 THEN  yy(ix) = y0 * (x(ix)/x0)^1.7

 RETURN, yy
END