from Nbody import * import RandomArray ''' display the map (sigma vz)/(sigma vr) ''' filter_name = 'convol' filter_opts = [10,10,3,3] view = 'xz' shape = (256,256) size = (30,30) frsp = 0 mn = 0.2 mx = 0.4 scale = 'lin' palette = 'rainbow4' nb = Nbody('disk.dat') # rotate the model nb.rotate(axis='x',angle=pi/2.) # compute the matrix for svz # moment 0 m0 = nb.getmap(shape=shape,size=size,view=view,mode='m',frsp=frsp) # moment 1 in vz m1 = nb.getmap(shape=shape,size=size,view=view,mode='vz',frsp=frsp) # moment 2 in vz m2 = nb.getmap(shape=shape,size=size,view=view,mode='vz2',frsp=frsp) # filter moments m0 = apply_filter(m0,name=filter_name,opt=filter_opts) m1 = apply_filter(m1,name=filter_name,opt=filter_opts) m2 = apply_filter(m2,name=filter_name,opt=filter_opts) # extract dispersion sz = m2/m0 - (m1/m0)^2 mat = where(m0==0,0,m2/m0) - (where(m0==0,0,m1/m0))**2 mat_sz = sqrt(clip(mat,0,1e10)) # compute the matrix for svr # moment 0 m0 = nb.getmap(shape=shape,size=size,view=view,mode='m',frsp=frsp) # moment 1 in vr m1 = nb.getmap(shape=shape,size=size,view=view,mode='vxyr',frsp=frsp) # moment 2 in vr m2 = nb.getmap(shape=shape,size=size,view=view,mode='vxyr2',frsp=frsp) # filter moments m0 = apply_filter(m0,name=filter_name,opt=filter_opts) m1 = apply_filter(m1,name=filter_name,opt=filter_opts) m2 = apply_filter(m2,name=filter_name,opt=filter_opts) # extract dispersion sr = m2/m0 - (m1/m0)^2 mat = where(m0==0,0,m2/m0) - (where(m0==0,0,m1/m0))**2 mat_sr = sqrt(clip(mat,0,1e10))
# divide both matrix mat = where(mat_sr==0,0,mat_sz/mat_sr) # set ranges matint,mn,mx,cd = set_ranges(mat,scale=scale,mn=mn,mx=mx) # create an image image = get_image(matint,name=None,palette_name=palette) # display display(image)
See About this document... for information on suggesting changes.