def tau(meandens, line=tau1x, sigma=1.0, hightail=False, hopkins=False, powertail=False, lowtail=False, compressive=False, divide_by_col=False, **kwargs): if compressive: distr = turbulent_pdfs.compressive_distr(meandens,sigma,**kwargs) elif lowtail: distr = turbulent_pdfs.lowtail_distr(meandens,sigma,**kwargs) elif powertail or hightail: distr = turbulent_pdfs.hightail_distr(meandens,sigma,**kwargs) elif hopkins: T = hopkins_pdf.T_of_sigma(sigma, logform=True) #distr = 10**dens * hopkins_pdf.hopkins(10**(dens), meanrho=10**(meandens), sigma=sigma, T=T) # T~0.05 M_C distr = hopkins_pdf.hopkins_masspdf_ofmeandens(10**dens, 10**meandens, sigma_volume=sigma, T=T, normalize=True) # Hopkins is integral-normalized, not sum-normalized #distr /= distr.sum() else: #distr = lognormal(10**dens, 10**meandens, sigma) * dlndens distr = lognormal_massweighted(10**dens, 10**meandens, sigma, normalize=True) if divide_by_col: return (distr*line/(10**col)).sum() else: return (distr*line).sum()
pl.plot(sigmas, lognormal_integrals) pl.xlabel(r'$\sigma_s$') pl.ylabel(r'$\int P_V(s)$') pl.show() pl.figure(2) pl.clf() pl.plot(sigmas, lognormalmass_integrals) pl.xlabel(r'$\sigma_s$') pl.ylabel(r'$\int P_M(s)$') pl.figure(3) pl.clf() fits = [] for s in sigmas[::10]: distr = lognormal_massweighted(rho, 1, s) L, = pl.loglog(rho, distr, label=r'$\sigma_s=%f' % s, linewidth=3, alpha=0.5) (fitted_rho0, fitted_s), cov = curve_fit(lognormal, rho, distr, p0=[np.exp(s**2), s]) fitted_distr = lognormal(rho, fitted_rho0, fitted_s) pl.loglog(rho, fitted_distr, color=L.get_color(), linestyle='--') fits.append((fitted_rho0, fitted_s)) fits = np.array(fits) pl.xlabel(r'$\rho$')
pl.plot(sigmas, lognormal_integrals) pl.xlabel(r'$\sigma_s$') pl.ylabel(r'$\int P_V(s)$') pl.show() pl.figure(2) pl.clf() pl.plot(sigmas, lognormalmass_integrals) pl.xlabel(r'$\sigma_s$') pl.ylabel(r'$\int P_M(s)$') pl.figure(3) pl.clf() fits = [] for s in sigmas[::10]: distr = lognormal_massweighted(rho, 1, s) L, = pl.loglog(rho,distr, label=r'$\sigma_s=%f' % s, linewidth=3, alpha=0.5) (fitted_rho0,fitted_s),cov = curve_fit(lognormal, rho, distr, p0=[np.exp(s**2),s]) fitted_distr = lognormal(rho, fitted_rho0, fitted_s) pl.loglog(rho,fitted_distr,color=L.get_color(), linestyle='--') fits.append((fitted_rho0,fitted_s)) fits = np.array(fits) pl.xlabel(r'$\rho$') pl.ylabel(r'$P_M(s)$') pl.axis([1e-10,1e30,1e-10,1]) pl.figure(4) pl.clf() pl.plot(meanrhos, lognormal_integrals_rho) pl.xlabel(r'$\rho_0$')