PROGRAM Compute_Profiles ! A code for computing: ! 1st column: x=r/r500 ! 2nd column: r [h^-1 Mpc] ! 3rd column: electron number density profile [cm^-3] ! 4th column: X-ray temperature profile [keV] ! 5th column: electron pressure profile [eV cm^-3] ! using Vikhlinin's model parameters. ! E. Komatsu, November 17, 2011 IMPLICIT none double precision :: n0,rc,rs,alpha,beta,gamma,eps,n02,rc2,beta2,r500v,t3,et3 double precision :: x,r,nesq,Te,Pe character(len=10) :: name integer :: i,icls,ncls=76 open(2,file='name.txt',status='old') do icls=1,ncls read(2,*)name open(3,file='vikhlinin_xray_parameters/'//name,status='old') read(3,*)n0,rc,rs,alpha,beta,gamma,eps,n02,rc2,beta2,r500v,t3,et3 print*,name print*,'r500=',r500v*0.72d0/1d3,' h^-1 Mpc' open(1,file='x_r_ne_te_pe_'//trim(name)//'.txt') do i=1,1000 x=1d-3*dble(i)*6d0 ! x=r/r500 Te=1.35d0*(t3/1.11d0/0.97d0)*((x/0.045d0)**1.9d0+0.45d0)/((x/0.045d0)**1.9d0+1d0) & /(1d0+(x/0.6d0)**2d0)**0.45d0 ! keV r=x*r500v ! kpc nesq=n0**2d0*(r/rc)**(-alpha)/(1d0+r**2d0/rc**2d0)**(3d0*beta-alpha/2d0) & /(1d0+r**gamma/rs**gamma)**(eps/gamma) + n02**2d0/(1d0+r**2d0/rc2**2d0)**(3d0*beta2) ! cm^-6 Pe=dsqrt(nesq)*(Te*1d3) ! eV cm^-3, electron pressure write(1,'(5E18.5)')x,x*r500v*0.72d0/1d3,dsqrt(nesq),Te,Pe enddo close(1) enddo close(2) END PROGRAM Compute_Profiles