SpectraRust/synspec/extracted/abnchn.f
2026-03-19 14:05:33 +08:00

53 lines
1.2 KiB
Fortran

subroutine abnchn(mode)
c =======================
c
c changing abundances (eliminating) species for an
c evaluating an opacity table
c
INCLUDE 'PARAMS.FOR'
INCLUDE 'MODELP.FOR'
common/relabu/relabn(matom),popul0(mlevel,1)
data iread/1/
c
if(iread.eq.1) then
do ia=1,matom
relabn(ia)=1.
end do
10 continue
read(2,*,err=20,end=20) iatom,rela
relabn(iatom)=rela
write(*,*) 'ABUNDANCES CHANGED (AT.NUMBER, ABUND):',iatom,rela
go to 10
20 continue
if(relabn(1).eq.0.) then
iophmi=0
ioph2p=0
end if
iread=0
end if
c
if(mode.eq.0) then
do iat=1,natom
do ii=n0a(iat),nka(iat)
popul0(ii,1)=popul(ii,1)
end do
end do
return
end if
c
do iat=1,natom
ia=numat(iat)
do ii=n0a(iat),nka(iat)
popul(ii,1)=popul0(ii,1)*relabn(ia)
end do
end do
c
do ia=1,matom
do io=1,mion0
rrr(1,io,ia)=rrr(1,io,ia)*relabn(ia)
end do
end do
c
return
end