
zQc           @   s"  d  d l  m Z d  d l Z d  d l m Z e d d d d  d l j Z d  d l	 m
 Z
 m Z e d d  Z d  d	 l m Z e   Z d
 Z d d d d d d g Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d e d  d! d" e j  e e d# e d Z! e e e Z" e j# d$  d d  d% d!  f Z$ d&   Z% d'   Z& d(   Z' d)   Z( d*   Z) e j* d+ d, d- d. d/ d0 d1 d2 d3 d  i d4 d5 6d6 d7 6d8 d9 6d: d; 6Z+ d< d= d> d? d@ dA g Z, dB dC dD dE dB dC g Z- xe. e  D]\ Z/ Z0 dF e Z1 dG e Z2 dH Z3 d Z4 dI Z5 e e5 Z6 i g  dJ 6g  d5 6g  d7 6g  d9 6g  d; 6Z7 xe3 e1 k  re! e4 e Z8 e6 e Z5 e e5  Z9 e( e4  e0 e e e' e  e e Z: e) e4  e0 e e e' e  e e Z; e5 dK k  rdH Z< n e j= e$ d d  d% f e9  Z> e9 e$ e> d% f e$ e> dL d% f e$ e> d% f Z? e$ e> dL f e? e$ e> dL dL f e$ e> dL f Z< dM e< Z< d# e4 e: e8 e% e5  e4 e8 e& e5  Z@ eA e2 d eB e4 e@  d eB e6 e; e<   ZC e3 eC 7Z3 e4 e@ eC 7Z4 e6 e; e< eC 7Z6 e7 dJ jD e3  e7 d5 jD e4  e7 d7 jD e6 e  e7 d9 jD e@  e7 d; jD e; e<  q{Wx+ e7 jE   D] ZF e jG e7 eF  e7 eF <qWe7 jE   ZE x!eH dN  D]ZI e jJ dN dL eI dL  eI d% k re e0  ZK dO eK ZL n d ZL e jN e7 dJ e e7 eE eI dA e, e/ dP e- e/ dQ eL ZO e jP dR dF  e jQ e+ eE eI  eI d k re jR dS  n eO d% jS jT jU e  eI d% k re jV dT d" dU e dV d dW d d# g  qqWqWe jW   ZX eX jY d" dX  e jZ dY  d S(Z   i(   t   log10N(   t   rct   fontt   sizei   (   t   fontManagert   FontPropertiest   small(   t   NullFormatterg      .@g{Gz?gMbP?g-C6?gh㈵>gư>gHz>g     @@g      ?g5q?g7j"q>g     Q@gH.!?g/$?gRQ?g333333+@gg:g6&M<g-@.|=g   X~Ag5o ;i   gKCi   i   g      ?s   zcool_sd93.dati    c      	   C   sz   t  j |  t  } d d d d d d d d d	 g	 } d
 } x0 t t |   D] } | | | | | 7} qM Wt  j |  S(   Ng,Lc[@gw+@gbg_ˮ?gTiҿgZ^&ԡ?g8^regQU!Y?gD|
g        (   t   nat   logt   erg_eVt   ranget   lent   exp(   t   Tt   lnTt   coefft   at   i(    (    s
   xrayevo.pyt   CH$   s    c         C   s   d |  d d S(   Ngĭ9R=g     @gffffff(    (   R   (    (    s
   xrayevo.pyt   alphaB-   s    c         C   s9   d |  d d d |  d d d t  j |  d  d S(   NgIyN.=gׁ?i   i   gmg(\B,@gNbX9(   R   t   sqrt(   t   E(    (    s
   xrayevo.pyt   sigmaH0   s    c         C   s   d d |  d d S(   Ng ?g      ?g|a2U0?g1%?(    (   t   x(    (    s
   xrayevo.pyt   secondary_ion4   s    c         C   s   d d d |  d d S(   NgcZB>?g      ?g/'?gȘ?(    (   R   (    (    s
   xrayevo.pyt   secondary_heat7   s    t   leftg333333?t   rightgQ?t   bottomgQ?t   topg?t   hspaces   $x_e$R   s   Temperature [K]R   s   $\dot{x}_e$ [1/s]t   dx_dts   $\dot{E}$ [erg/s]t   dE_dtt   kt   bt   rt   gt   mt   ct   -s   --s   -.t   :g    eAg    .Ag        g      Y@t   timeg     @i   g      $@i   s   $F_x = 10^{%.1f}$t   lst   labelg     j@s	   Time [yr]t   loct   propt   ncolt   bbox_to_anchori   s	   x-evo.png([   t   mathR    t   numpyR   t
   matplotlibR   t   matplotlib.pyplott   pyplott   pltt   matplotlib.font_managerR   R   R   t   matplotlib.tickerR   t   nullfmtt   redshiftt   allFt   Ext   cflR
   t   Gt   H0t   Omega_bt   Omega_mt   yHt   IHt   ht   kbt   eVt   yrt   mHt   pit   rhoHt   nut   loadtxtt
   cool_tableR   R   R   R   R   t   subplots_adjustt   labelst   colorst   stylest	   enumeratet   iit   Ft   tfinalt   dt0t   tR   R   t   Etht   resultst   net   logTt   kpht   heatt   coolt   searchsortedt   cool_idxt   interp_factorR    t   mint   abst   dtt   appendt   keysR"   t   arrayR   R   t   subplott   logFR,   t   Nonet   loglogt   pt   xlimt   ylabelt   xlabelt   axest   xaxist   set_major_formattert   legendt   gcft   figt   set_size_inchest   savefig(    (    (    s
   xrayevo.pyt   <module>   s   	1%						(



)
**	"#'
.
)3