c..declarations and common block for the chemical evolution code c..tphys = maximum number of time points c..gphys = maximum number of isotopes in all zones c..kount = time counter c..grk = holds the solution; mass per pc**2 c..dgrk = total injection rate; right hand side of the equations c..time = the stored time points c..init = the initial condition composition c..timcom = communicates the current time point of the simulation c..ximf_norm = initial mass function normalizxation factor c..mbin = mass of the binary under consideration integer tphys,gphys,kount parameter (tphys=500, gphys=1200) common /chm2c1/ kount double precision grk(gphys,tphys),dgrk(gphys,tphys), 1 time(tphys),init(gphys),timcom,ximf_norm,mbin common /chm2c2/ grk,dgrk,time,init,timcom,ximf_norm,mbin c..for the nucleosynthesis c..masmax is the maximum number of stellar mass points c..isomax is the maximum number of isotopes c..niso is the number of isotopes: i=1,niso c..nowiso points to the isotope under consideration c..nzbeg points to the first metal c..nzend points to the last metal c..namnuc(i) is the name of isotope i c..metnuc(i) is the number of metalicities for this isotope c..zzznuc(j,i) metalicity value for this isotope: j=1,metnuc(i) c..numnuc(j,i) number of mass points for metalicity j and isotope i c..masnuc(j,k,i) mass for jth metal kth mass isotope i: k=1,numnuc(j,i) c..isonuc(j,k,i) yield for jth metal kth mass for isotope i c..bigb(i) is the bigbang mass fractions c..maxt1a is the maximum number of type1a c..nt1a is the actual number of type1a c..mt1a(maxt1a,isomax) is the type 1a yields c..maxnova is the maximum number of nova c..nnova is the actual number of nova c..mnova(maxnova,isomax) is the nova yields integer metmax,masmax,isomax,maxt1a,maxnova parameter (metmax=5, masmax = 30, isomax=80, 1 maxt1a=10, maxnova=10) character*5 namnuc(isomax) integer numnuc(metmax,isomax),metnuc(isomax), 1 niso,nowiso,nzbeg,nzend,nt1a,nnova, 2 nh2,nhe3,nhe4,nli6,nli7,nb10,nb11,nc12,nc13, 3 nn14,nn15,no16,no17,no18,nf19,nne20,nne21,nne22, 4 nna23,nmg24,nmg25,nmg26,nal26,nal27,nsi28,nsi29, 5 nsi30,np31,ns32,ns33,ns34,ns36,ncl35,ncl37, 6 nar36,nar38,nar40,nk39,nk40,nk41,nca40,nca42, 7 nca43,nca44,nca46,nca48,nsc45,nti46,nti47,nti48, 8 nti49,nti50,nv50,nv51,ncr50,ncr52,ncr53,ncr54, 9 nmn55,nfe54,nfe56,nfe57,nfe58,nfe60,nco59,nni58, & nni60,nni61,nni62,nni64,ncu63,ncu65,nzn64,nzn66, 1 nzn67,nzn68,nzn70,nbe9 double precision masnuc(metmax,masmax,isomax), 1 isonuc(metmax,masmax,isomax), 2 zzznuc(metmax,isomax),mt1a(maxt1a,isomax), 3 mnova(maxnova,isomax),bigb(isomax),primhe4 common /chm2c3/ masnuc,isonuc,zzznuc,mt1a,mnova,bigb,primhe4 common /chm2c4/ numnuc,metnuc,niso,nowiso,nzbeg,nzend, 1 nt1a,nnova, 2 nh2,nhe3,nhe4,nli6,nli7,nb10,nb11,nc12,nc13, 3 nn14,nn15,no16,no17,no18,nf19,nne20,nne21,nne22, 4 nna23,nmg24,nmg25,nmg26,nal26,nal27,nsi28,nsi29, 5 nsi30,np31,ns32,ns33,ns34,ns36,ncl35,ncl37, 6 nar36,nar38,nar40,nk39,nk40,nk41,nca40,nca42, 7 nca43,nca44,nca46,nca48,nsc45,nti46,nti47,nti48, 8 nti49,nti50,nv50,nv51,ncr50,ncr52,ncr53,ncr54, 9 nmn55,nfe54,nfe56,nfe57,nfe58,nfe60,nco59,nni58, & nni60,nni61,nni62,nni64,ncu63,ncu65,nzn64,nzn66, 1 nzn67,nzn68,nzn70,nbe9 common /chm2c5/ namnuc c..number of points to use in the quadratures integer nqmax parameter (nqmax=40) integer nnhi,nnmid,nnlo common /chm2c6/ nnhi,nnmid,nnlo c..history table hit counters integer khist,kmiss,khyes,khno,kt1yes,kt1no,kt1miss, 1 knvyes,knvno,knvmiss common /chm2c6/ khist,kmiss,khyes,khno,kt1yes,kt1no,kt1miss, 1 knvyes,knvno,knvmiss c..file names character*20 nukfil,densfil,snfil,xmasfil,decfil,agfil,gdwfil common /chmr1/ nukfil,densfil,snfil,xmasfil,decfil,agfil,gdwfil c..model parameters integer iprint,wimf,modal26,iznorm common /chmr2/ iprint,wimf,modal26,iznorm double precision nu,kk,mmin,mmax,toler,tend,tgal,atdisk,btdisk, 1 sigzer,sn2mlo,sn2mhi,imfmin,imfmax,trecur, 2 mbmin,mbmax,sn1fac,novfac,odescal,stptry,tagout, 3 radsol,massol,mcenter,rbreak,thalo common /chmr3/ nu,kk,mmin,mmax,toler,tend,tgal,atdisk,btdisk, 1 sigzer,sn2mlo,sn2mhi,imfmin,imfmax,trecur, 2 mbmin,mbmax,sn1fac,novfac,odescal,stptry,tagout, 3 radsol,massol,mcenter,rbreak,thalo c..for storing the type1a and nova fractions integer nfract1a,nfracnova double precision fract1a(maxt1a),fracnova(maxnova) common /chmr4/ fract1a,fracnova,nfract1a,nfracnova character*12 t1a_comment(maxt1a),nova_comment(maxnova) common /chmz1/ t1a_comment,nova_comment c..radial point storage and integrations integer nzmax parameter (nzmax=20) integer nzone,neq,nowzon,nrcomp double precision rpoint(nzmax) common /chmr5/ rpoint,nzone,neq,nowzon,nrcomp c..for soring the date and time out of the machine character*8 atim character*9 adat common /datime/ adat,atim c..for figuring out how much cpu time was spent double precision timtot integer hours,minuts,secs,msecs common /timers/ timtot,hours,minuts,secs,msecs c..solar and mean ism elemental storage double precision hsol,hesol,besol,lisol,csol,nsol,osol,fsol,nesol, 1 nasol,alsol,mgsol,sisol,psol,susol,clsol,arsol, 2 ksol,casol,scsol,tisol,vsol,crsol,mnsol,fesol, 3 cosol,nisol,cusol,znsol,zsol common /csols/ hsol,hesol,besol,lisol,csol,nsol,osol,fsol,nesol, 1 nasol,alsol,mgsol,sisol,psol,susol,clsol,arsol, 2 ksol,casol,scsol,tisol,vsol,crsol,mnsol,fesol, 3 cosol,nisol,cusol,znsol,zsol double precision hism,heism,beism,liism,cism,nism,oism,fism,neism, 1 naism,alism,mgism,siism,pism,suism,clism,arism, 2 kism,caism,scism,tiism,vism,crism,mnism,feism, 3 coism,niism,cuism,znism,zism common /cisms/ hism,heism,beism,liism,cism,nism,oism,fism,neism, 1 naism,alism,mgism,siism,pism,suism,clism,arism, 2 kism,caism,scism,tiism,vism,crism,mnism,feism, 3 coism,niism,cuism,znism,zism double precision h2h,he3h,li72h,be2h,b2h,fe2h,c2fe,n2fe,o2fe,f2o, 1 ne2fe,na2fe,al2fe,mg2fe,na2mg,al2mg,si2fe,p2fe, 2 s2fe,cl2fe,ar2fe,k2fe,ca2fe,sc2fe,ti2fe,v2fe, 3 cr2fe,mn2fe,co2fe,ni2fe,cu2fe,zn2fe,deltay, 4 delydelz,dydz common /crato/ h2h,he3h,li72h,be2h,b2h,fe2h,c2fe,n2fe,o2fe,f2o, 1 ne2fe,na2fe,al2fe,mg2fe,na2mg,al2mg,si2fe,p2fe, 2 s2fe,cl2fe,ar2fe,k2fe,ca2fe,sc2fe,ti2fe,v2fe, 3 cr2fe,mn2fe,co2fe,ni2fe,cu2fe,zn2fe,deltay, 4 delydelz,dydz c..for communicating the normalizing element abundances integer nsolsiz parameter (nsolsiz = 166) double precision solnorm(nsolsiz),ismnorm(nsolsiz), 1 zsolnorm(nsolsiz),asolnorm(nsolsiz) common /abnorms/ solnorm,ismnorm,zsolnorm,asolnorm c..for communicating the gas and metallicity histories double precision gashist(tphys),zsumhist(tphys) common /hist1/ gashist,zsumhist c..for communicating the supernova rates double precision sn2tab(tphys,nzmax),sn1tab(tphys,nzmax), 1 novtab(tphys,nzmax) common /sncm1/ sn2tab,sn1tab,novtab