SpectraRust/tlusty/MODELQ.FOR
2026-03-19 14:05:33 +08:00

218 lines
9.0 KiB
Fortran

C
PARAMETER (MLINH = 78,
* MHT = 7,
* MHE = 20,
* MHWL = 90)
c * MHWL = 65)
parameter (mfhtab=1000,
* mtabth=10,
* mtabeh=10)
INTEGER*2 ITRLIN
REAL*4 PRFLIN,BFCS
real*8 absopac(mtabt,mtabr,mfrtab)
C
COMMON/MODPAR/DM(MDEPTH),TEMP(MDEPTH),ELEC(MDEPTH),DENS(MDEPTH),
* TOTN(MDEPTH),
* ANTO(MDEPTH),ANMA(MDEPTH),ANH1(MDEPTH),ZD(MDEPTH),
* HKT1(MDEPTH),TK1(MDEPTH),HKT21(MDEPTH),SQT1(MDEPTH),
* TEMP1(MDEPTH),ELEC1(MDEPTH),DENS1(MDEPTH),
* DENSI(MDEPTH),DENSIM(MDEPTH),
* ELSCAT(MDEPTH),ALAB(MDEPTH),
c * ENRG(MDEPTH),
* DELDM(MDEPTH),DEDM1,DELDMZ(MDEPTH),
* THETAV(MDEPTH),VISCD(MDEPTH),DALPMX,XHYD,
* DMTOT,RRDIL,TEMPBD,ALPTAV,ALPGAV,NALP,IBETA
COMMON/LEVPOP/POPUL(MLEVEL,MDEPTH),BFAC(MLEVEL,MDEPTH),
* POPINV(MLEVEL,MDEPTH),
* POPGRP(MLEVEL),
* POP(MLEVEL),SBF(MLEVEL),DSBF(MLEVEL),USUM(MION)
COMMON/POPZR0/POPZER,POPZR2,POPZCH,RPOP0(MLVEXP,MDEPTH),
* IPZERO(MLEVEL,MDEPTH),IGZERO(MLVEXP,MDEPTH)
COMMON/CRSWPS/CRSW(MDEPTH),SWPFAC,SWPLIM,SWPINC,ICRSW
COMMON/WMCOMP/WNHINT(NLMX,MDEPTH),WNHEII(NLMX,MDEPTH),
* wop(mlevel,mdepth),ifwop(mlevel)
COMMON/REPART/REINT(MDEPTH),REDIF(MDEPTH),TAUDIV,IDLST
COMMON/TURBUL/VTURB(MDEPTH),VTURBS(MDEPTH),VTB,IPTURB
C
COMMON/LEVREF/SBPSI(MLEVEL,MDEPTH),SBLPSI(MLEVEL,MDEPTH),
* DSBPST(MLEVEL,MDEPTH),DSBPSN(MLEVEL,MDEPTH),
* ILTREF(MLEVEL,MDEPTH),IGUIDE(MLEVEL),
* ILTERF(MLEVEL,MDEPTH)
COMMON/LEVFIX/PT(MLEVEL,MDEPTH),PN(MLEVEL,MDEPTH),
* PP(MLEVEL,MDEPTH)
COMMON/LEVADD/USUMS(MION,MDEPTH),
* DUSMT(MION,MDEPTH),
* DUSMN(MION,MDEPTH),
* DIESIG(MION,MDEPTH)
COMMON/MRGPAR/SGM0(MMER),
* FRCH(MMER),
* SGEXT1(MMER,MDEPTH),
* GMER(MMER,MDEPTH),
* SGMSUM(NLMX,MMER,MDEPTH),
* SGMSUD(NLMX,MMER,MDEPTH),
* SGMG(MMER,MDEPTH),
* IMRG(MLEVEL),
* IIMER(MMER)
COMMON/UPSUMS/DUSUMT(MION),DUSUMN(MION)
C
COMMON/DWNPAR/ELEC23(MDEPTH),
* ACOR(MDEPTH),
* Z3(MZZ),
* DWC1(MZZ,MDEPTH),
* DWC2(MDEPTH),
* DWF1(MMCDW,MDEPTH),
C * DWFL(MFREQL,MDEPTH,MMCDW),
* MCDW(MTRANS),ITRCDW(MMCDW),NCDW
C
COMMON/OBFPAR/ITRBF(MBF)
C
COMMON/GFFPAR/GF0(MDEPTH),GF1(MDEPTH),GF2(MDEPTH),
* GF3(MDEPTH),GF4(MDEPTH),GF5(MDEPTH),GF6(MDEPTH),
* GF0D(MDEPTH),GF1D(MDEPTH),GF2D(MDEPTH),
* GF3D(MDEPTH),GF4D(MDEPTH),GF5D(MDEPTH),
* GF6D(MDEPTH),DELTT(MDEPTH)
C
COMMON/OFFPAR/SFF3(MION,MDEPTH),
* SFF2(MION,MDEPTH),
* DSFF(MION,MDEPTH),
* CFFN(MDEPTH),CFFT(MDEPTH)
C
COMMON/OTRPAR/ABTRA(MTRANS,MDEPTH),EMTRA(MTRANS,MDEPTH),
* DEMLT(MTRANS,MDEPTH)
C
COMMON/CURRNT/XKF(MDEPTH),XKF1(MDEPTH),XKFB(MDEPTH)
COMMON/CUROPA/ABSO1(MDEPTH),EMIS1(MDEPTH),SCAT1(MDEPTH),
* ABSOT(MDEPTH),ABSOE1(MFREX),
* EMEL1(MDEPTH),ABSO1L(MDEPTH),EMIS1L(MDEPTH),
* ABSOPR(MDEPTH),EMISPR(MDEPTH)
COMMON/TOTRAD/RAD(MFREQ1,MDEPTH),FHD(MFREQ),
* FAK(MFREQ1,MDEPTH),RADK(MFREQ1,MDEPTH),
* EXTRAD(MFREQ),EXTINT(MFREQ,MMU),HEXTRD(MFREQ),
* TRAD,WDIL,EXTOT,TSTAR
COMMON/CURRAD/RAD1(MDEPTH),ALI1(MDEPTH),FAK1(MDEPTH),
* radcm(mfreq,mdepth),
* RADL(MFREQL,MDEPTH),ABSALI(MFREQL,MDEPTH),
* alih1(mdepth)
COMMON/CURDER/DABT1(MDEPTH),DEMT1(MDEPTH),
* DABN1(MDEPTH),DEMN1(MDEPTH),
* DABM1(MDEPTH),DEMM1(MDEPTH),
* DABX1(MDEPTH),DEMX1(MDEPTH),
* DABP1(MLEVEL,MDEPTH),DEMP1(MLEVEL,MDEPTH),
* DRCH1(MLEVEL,MDEPTH),DRET1(MLEVEL,MDEPTH),
* ABSFF(MDEPTH),DABFT(MDEPTH),DABFN(MDEPTH),
* DSFDT(MDEPTH),DSFDN(MDEPTH),DSFDM(MDEPTH),
* DSFDP(MLVEXP,MDEPTH),
* DSFDTM(MDEPTH),DSFDNM(MDEPTH),
* DSFDPM(MLVEXP,MDEPTH),
* DSFDTP(MDEPTH),DSFDNP(MDEPTH),
* DSFDPP(MLVEXP,MDEPTH)
COMMON/CURTRI/ALIM1(MDEPTH),ALIP1(MDEPTH)
COMMON/EXPRAF/RADEX(MFREX,MDEPTH),FAKEX(MFREX,MDEPTH)
C
COMMON/TOTPRF/PRFLIN(MDEPTH,MFREQP)
COMMON/TOTFLX/FLTOT(MDEPTH),FLFIX(MDEPTH),FLEXP(MDEPTH),
* FCOOL(MDEPTH),FCOOLI(MDEPTH),FLRD(MDEPTH),
* FPRAD(MDEPTH),GRAD(MDEPTH),FPRD(MDEPTH),
* GRADF(MDEPTH,MFREQ)
C
COMMON/RRATES/RRU(MTRANS,MDEPTH),RRD(MTRANS,MDEPTH),
* DRDT(MTRANS,MDEPTH)
COMMON/RRTOFF/RDDP(MTRAN3,MDEPTH),RDDM(MTRAN3,MDEPTH)
COMMON/CRATES/COLRAT(MTRANS,MDEPTH),COLTAR(MTRANS,MDEPTH)
C
COMMON/FRQALL/FREQ(MFREQ),W(MFREQ),PROF(MFREQP),WCH(MFREQ),
* JIK(MFREQ),IJX(MFREQ),IJBF(MFREQ),IFS0,
* KIJ(MFREQ),LSKIP(MDEPTH,MFREQ)
COMMON/FRQINT/FRCMAX,FRCMIN,FRLMAX,FRLMIN,CFRMAX,DFTAIL,
* TSNU,VTNU,DDNU,CNU1,CNU2,IELNU,NFTAIL
COMMON/LINOVR/NITJ(MFREQ),IJLIN(MFREQ),ITRLIN(MITJ,MFREQ)
COMMON/LINFRQ/NLINES(MFREQ)
COMMON/PHOEXP/AIJBF(MFREQ),BFCS(MCROSS,MFREQC),IFREQB(MFREQC)
COMMON/FREAUX/W0E(MFREQ),BNUE(MFREQ),WC(MFREQ),
* IJTC(MTRANS),IJALI(MFREQ),IJEX(MFREQ),IJFR(MFREQ)
COMMON/COMPIF/LINEXP(MTRANS)
C
COMMON/SURFAC/FLUX(MFREQ),FH(MFREQ),Q0(MFREQ),UU0(MFREQ)
C
COMMON/FILES/PSY0(MTOT,MDEPTH),PSY1(MTOT,MDEPTH),
* PSY2(MTOT,MDEPTH),PSY3(MTOT,MDEPTH)
C
COMMON/PRESSR/PTOTAL(MDEPTH),PGS(MDEPTH),PRADT(MDEPTH),
& PRADA(MDEPTH)
COMMON/HEQAUX/PRD0,IHECOR
COMMON/OPMEAN/ABROSD(MDEPTH),SUMDPL(MDEPTH),
& ABPLAD(MDEPTH),ABPMIN
COMMON/CHARFX/QFIX(MDEPTH)
COMMON/WINDBL/ALBE(MFREQ),IWINBL
COMMON/DFEALI/DJMAX,NTRALI
COMMON/OPACAD/ABAD,EMAD,SCAD,DAT,DAN,DET,DEN,DST,DSN,DDN(MLEVEL)
COMMON/MODCON/FLXC(MDEPTH),DELTA(MDEPTH)
COMMON/RESDER/RSAT,RSBT,RSAN,RSBN,RSAX(MLEVEL),RSBX(MLEVEL)
COMMON/GRAYTS/TAUROS(MDEPTH),TAUFLX(MDEPTH),
* TAUTHE(MDEPTH),THETA(MDEPTH)
COMMON/TAURSS/TROSS(MDEPTH)
COMMON/TCONST/TDISK,ITCONS
C
COMMON/HYDADD/PHMOL(MDEPTH),ANEREL,IHM,IH2,IH2P
COMMON/ELDNSP/ANP,AHTOT,AHMOL
C
COMMON/RRVALS/RR(99,99),ABNDD(99,MDEPTH),ENEV(99,30),IONIZ(99),
* IREF,IREFA,LGR(99),LRM(99)
COMMON/STATEP/Q,QM,DQT,DQN,DQM,ENER,ENTR,QREF,DQTR,DQNR,PFHYD
COMMON/ODFCHT/CHANT(MDEPTH)
COMMON/STRAUX/XK0(MLINH),XK,DBETA,BETAD,ADH,DIVH
COMMON/STDPAR/ELSTD,IDSTD
c
c parameters for hydrogen Stark broadening tables
c
COMMON/HYDPRF/PRFHYD(MLINH,MHWL,MHT,MHE),
* WLHYD(MLINH,MHWL),
* WLH(MHWL,MLINH),
* XTLEM(MHT,MLINH),
* XNELEM(MHE,MLINH),
* NWLHYD(MLINH),
* NWLH(MLINH),
* NTH(MLINH),
* NEH(MLINH),
* ILINH(4,22),
* IHYDPR
C
COMMON/XENPRF/PRFXB(MLINH,MHWL,MHT,MHE),
* PRFXR(MLINH,MHWL,MHT,MHE),
* ALXEN(MLINH,MHWL),
* XTXEN(MHT,MLINH),
* XNEXEN(MHE,MLINH),XNEMIN,
* NWLXEN(MLINH),
* NTHXEN(MLINH),
* NEHXEN(MLINH),
* ILXEN(4,22),
* IHXENB
C
COMMON/LTEGRP/TAUFIR,TAULAS,ABROS0,TSURF,ALBAVE,DION0,
* DM1,ABPLA0,NNEWD,
* NDGREY,IDGREY
COMMON/COMPTF/DLNFR(MFREQ),BNUS(MFREQ),
* CDER10(MFREQ),CDER1P(MFREQ),CDER1M(MFREQ),
* CDER20(MFREQ),CDER2P(MFREQ),CDER2M(MFREQ),
* DELJ(MFREQ,MDEPTH)
COMMON/VISPAR/TVISC(MDEPTH),DTVIST(MDEPTH),DTVISN(MDEPTH),
* DTVISR(MDEPTH)
C
c parameters for the opacity tables
c
COMMON/TABLOP/ FRTB1,FRTB2,RTAB1,RTAB2,TTAB1,TTAB2
common/numbopac/ numfreq,numrho,numtemp,numrh(mtabt)
common/vectors/ tempvec(mtabt),rhovec(mtabr),
* rhomat(mtabt,mtabr)
common/opacities/frtab(mfrtab),frtlim,absopac
common/raytbl/raytab(mtabt,mtabr),raysc(mdepth)
common/binopa/ibinop
C
c parameters for the hydrogen opacity tables
c
common/tabhyg/hglim,ihgom
COMMON/TABLOH/ FRGTB1,FRGTB2,EGTAB1,EGTAB2,TGTAB1,TGTAB2
common/numgopac/ nugfreq,nugele,nugtemp
common/vectorg/ temvec(mtabth),elevec(mtabeh)
common/opacitieg/frgtab(mfhtab),hydcrs(mtabth,mtabeh,mfhtab)