git push -u origin main
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
SUBROUTINE RESOLV
|
||||
C
|
||||
C driver for evaluating opacities and emissivities which then
|
||||
C enter the solution of the radiative transfer equation
|
||||
C (RTE or RTEDFE)
|
||||
C
|
||||
INCLUDE 'PARAMS.FOR'
|
||||
INCLUDE 'MODELP.FOR'
|
||||
INCLUDE 'LINDAT.FOR'
|
||||
INCLUDE 'SYNTHP.FOR'
|
||||
DIMENSION CROSS(MCROSS,MFRQ),
|
||||
* ABSO(MFREQ),EMIS(MFREQ),SCAT(MFREQ)
|
||||
COMMON/RTEOPA/CH(MFREQ,MDEPTH),ET(MFREQ,MDEPTH),
|
||||
* SC(MFREQ,MDEPTH)
|
||||
COMMON/HPOPST/HPOP
|
||||
C
|
||||
IHYL=-1
|
||||
c
|
||||
c if(imode.le.-3) call abnchn(1)
|
||||
C
|
||||
C set up the partial line list for the current interval
|
||||
C
|
||||
CALL INISET
|
||||
if(ifmol.gt.0) then
|
||||
do ilist=1,nmlist
|
||||
call molset(ilist)
|
||||
end do
|
||||
end if
|
||||
C
|
||||
C select possible hydrogen lines that may contribute to the opacity
|
||||
C
|
||||
IF(IMODE.NE.-1) CALL HYLSET
|
||||
C
|
||||
C select possible He II lines that may contribute to the opacity
|
||||
C
|
||||
IF(IMODE.NE.-1) CALL HE2SET
|
||||
C
|
||||
C output of information about selected lines
|
||||
C
|
||||
CALL INIBLA
|
||||
if(ifmol.gt.0) call iniblm
|
||||
C
|
||||
C photoinization cross-sections
|
||||
C
|
||||
CALL CROSET(CROSS)
|
||||
C
|
||||
C monochromatic opacity and emissivity including all contributing
|
||||
C lines and continua
|
||||
C
|
||||
IF(IMODE.GE.-1) THEN
|
||||
DO ID=1,ND
|
||||
CALL OPAC(ID,CROSS,ABSO,EMIS,SCAT)
|
||||
ABSTD(ID)=0.5*(ABSO(1)+ABSO(2))
|
||||
DO IJ=1,NFREQ
|
||||
CH(IJ,ID)=ABSO(IJ)
|
||||
ET(IJ,ID)=EMIS(IJ)
|
||||
SC(IJ,ID)=SCAT(IJ)
|
||||
END DO
|
||||
if(imode0.eq.-4) call ougrid(abso)
|
||||
END DO
|
||||
C
|
||||
C output of information about selected hydrogen lines
|
||||
C
|
||||
CALL INIBLH
|
||||
C
|
||||
C the iron curtain or opacity table option - output of monochromatic opacities
|
||||
C
|
||||
ELSE IF(IMODE.EQ.-2) THEN
|
||||
ID=1
|
||||
write(27,626) temp(id),dens(id),elec(id)
|
||||
CALL OPAC(ID,CROSS,ABSO,EMIS,SCAT)
|
||||
DO IJ=3,NFREQ-1
|
||||
ABSO(IJ)=(ABSO(IJ)+SCAT(IJ))/HPOP
|
||||
WRITE(27,627) WLAM(IJ),ABSO(IJ),scat(ij)
|
||||
END DO
|
||||
else
|
||||
id=1
|
||||
call opac(id,cross,abso,emis,scat)
|
||||
ch(1,id)=abso(1)
|
||||
ch(2,id)=abso(2)
|
||||
call ougrid(abso)
|
||||
END IF
|
||||
626 format(1p3e15.4)
|
||||
627 format(f15.3,1p2e15.5)
|
||||
RETURN
|
||||
END
|
||||
Reference in New Issue
Block a user