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

30 lines
866 B
Fortran

SUBROUTINE DIVHE2(A,DIV)
C ========================
C
C Auxiliary procedure for evaluating approximate Stark profile
C for He II lines
C This procedure is quite analogous to DIVSTR for hydrogen;
C the only difference is a somewhat different definition
C of the parameter A ,ie. A for He II is equal to A for hydrogen
C minus ln(2)
C
INCLUDE 'PARAMS.FOR'
PARAMETER (UN=1.,TWO=2.,UNQ=1.25,UNH=1.5,TWH=2.5,FO=4.,FI=5.)
PARAMETER (CA=0.978,BL=5.821,AL=1.26,CX=0.28,DX=0.0001)
C
A=UNH*LOG(BETAD)-CA
IF(BETAD.LT.BL) RETURN
IF(A.GE.AL) THEN
X=SQRT(A)*(UN+UNQ*LOG(A)/(FO*A-FI))
ELSE
X=SQRT(CX+A)
ENDIF
DO 10 I=1,5
XN=X*(UN-(X*X-TWH*LOG(X)-A)/(TWO*X*X-TWH))
IF(ABS(XN-X).LE.DX) GO TO 20
X=XN
10 CONTINUE
20 DIV=X
RETURN
END