function zang,dl,z, h0=h0, k = k, Lambda0 = lambda0, Omega_m = Omega_m, $ q0 = q0, SILENT = silent ;+ ; NAME: ; ZANG ; PURPOSE: ; Determine the angular size of an object as a function of redshift ; EXPLANATION: ; Requires an input size in kpc and returns an angular size in arc seconds ; Default cosmology has a Hubble constant of 70 km/s/Mpc, Omega (matter) ; =0.3 and a normalized cosmological constant Lambda = 0.7; however these ; values can be changed with appropriate keywords. ; ; CALLING SEQUENCE: ; angsiz = zang( dl, [ z, H0 =, Omega_m =, Lambda0 = , q0 = , k =, ; /SILENT] ) ; ; INPUTS: ; dl - linear size of the object *in kpc*, non-negative scalar or vector ; z - redshift of object, postive scalar or vector ; Either dl and z must have the same number of elements, or at least ; one of them must be a vector. ; OPTIONAL INPUT KEYWORDS ; H0 - Hubble constant in km/s/Mpc, default is 70 ; ; No more than two of the following four parameters should be ; specified. None of them need be specified, default values are given ; k - curvature constant, normalized to the closure density. Default is ; 0, indicating a flat universe ; Omega_m - Matter density, normalized to the closure density, default ; is 0.3. Must be non-negative ; Lambda0 - Cosmological constant, normalized to the closure density, ; default is 0.7 ; q0 - Deceleration parameter, numeric scalar = -R*(R'')/(R')^2, default ; is -0.55 ; ; Note that Omega_m + lambda0 + k = 1 and q0 = 0.5*omega_m - lambda0 ; OUTPUT: ; angsiz - Angular size of the object at the given redshift in ; arc seconds ; EXAMPLE: ; (1) What would be the angular size of galaxy of diameter 50 kpc at a redshift ; of 1.5 in an open universe with Lambda = 0 and Omega (matter) = 0.3. ; Assume the default Hubble constant value of 70 km/s/Mpc. ; ; IDL> print,zang(50,1.5, Lambda = 0,omega_m = 0.3) ; ====> 6.58 arc seconds ; ; (2) Now plot the angular size of a 50 kpc diameter galaxy as a function of ; redshift for the default cosmology (Lambda = 0.7, Omega_m=0.3) up to ; z = 0.5 ; IDL> z = findgen(50)/10. + 0.1 ;Angular size undefined at z = 0 ; IDL> plot,z,zang(50,z),xtit='z',ytit='Angular Size (")' ; NOTES: ; This procedure underwent a major revision in April 2000 to allow for a ; cosmological constant, ***including a change of the calling sequence*** ; ; Be sure to supply the input linear size dl in units of kpc. ; PROCEDURES CALLED: ; LUMDIST() -- Calculates the luminosity distance ; REVISION HISTORY: ; Written J. Hill STX July, 1988 ; Converted to IDL V5.0 W. Landsman September 1997 ; Major rewrite to call LUMDIST function W. Landsman April 2000 ;- if N_params() LT 2 then begin print,'Sytnax - ' + $ 'angsiz = zang( dl, z, [H0 =, Omega_m =, Lambda0 = , q0 = , k =, /SILENT])' return,-1 endif d = lumdist(z,H0 = h0,k = k, Lambda0 = lambda0, Omega_m = Omega_m, q0 = q0, $ SILENT = silent) ; Angular distance is equal to the luminosity distance times (1+z)^2 return,!RADEG*3600.*dl*(1.+z)^2/(1000.*d) end