42 lines
1.3 KiB
Fortran
42 lines
1.3 KiB
Fortran
SUBROUTINE DIVSTR(IAH)
|
|
C ======================
|
|
C
|
|
C Auxiliary procedure for STARKA - determination of the division
|
|
C point between Doppler and asymptotic Stark profiles
|
|
C
|
|
C Input: BETAD - Doppler width in beta units
|
|
C Output: A - auxiliary parameter
|
|
C A=1.5*LOG(BETAD)-1.671
|
|
C DIV - only for A > 1; division point between Doppler
|
|
C and asymptotic Stark wing, expressed in units
|
|
C of betad.
|
|
C DIV = solution of equation
|
|
C exp(-(beta/betad)**2)/betad/sqrt(pi)=3*beta**-5/2
|
|
C
|
|
C He II: different definition of parameter ADH !
|
|
C
|
|
INCLUDE 'IMPLIC.FOR'
|
|
INCLUDE 'BASICS.FOR'
|
|
INCLUDE 'MODELQ.FOR'
|
|
PARAMETER (UNQ=1.25,UNH=1.5,TWH=2.5,FO=4.,FI=5.)
|
|
PARAMETER (CA=1.671,BL=5.821,AL=1.26,CX=0.28,DX=0.0001)
|
|
PARAMETER (CA2=0.978,XA2=0.69314718)
|
|
C
|
|
ADH=UNH*LOG(BETAD)-CA
|
|
IF(IAH.EQ.2) ADH=ADH+XA2
|
|
IF(BETAD.LT.BL) RETURN
|
|
IF(ADH.GE.AL) THEN
|
|
X=SQRT(ADH)*(UN+UNQ*LOG(ADH)/(FO*ADH-FI))
|
|
ELSE
|
|
X=SQRT(CX+ADH)
|
|
ENDIF
|
|
DO I=1,5
|
|
X2=X*X
|
|
XN=X*(UN-(X2-TWH*LOG(X)-ADH)/(TWO*X2-TWH))
|
|
IF(ABS(XN-X).LE.DX) GO TO 10
|
|
X=XN
|
|
END DO
|
|
10 DIVH=X
|
|
RETURN
|
|
END
|