-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathSvion.for
61 lines (52 loc) · 1.69 KB
/
Svion.for
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
SUBROUTINE SVION(J,DSVDN,DSVDT,FLUXN)
INCLUDE 'Soldiv.fi'
PARAMETER (J3=56)
DIMENSION GAM(J3)
C CALCULATES T & N DERIVATIVES OF IONIZATION SOURCE
C *******NEUTRAL ATOM MODEL**************
C USE THOMAS SV @ 100eV
IF(J.GT.1) GOTO 50
SIGEL = 17.0E-19
SIGVEL = 16.0E-14
SIGCX = 4.0E-19
SIGVCX = 3.7E-14
SIGION = 4.2E-19
SIGVION = 4.0E-14
SIGVTOT = SIGVEL + SIGVCX + SIGVION
C RECYLING FLUX= PLASMA ION LOSS X RECYCLE COEF RCOEF
GAM(56) = (XNAV/TAUP)*AMINOR*RCOEF/2.
FLUXN = GAM(56)
C CURRENT ATTENUATION BY E2 FUNCTION
Z = (SIGEL + SIGCX + SIGION)*XNC(56)*0.5*DELC
IF(Z.GT.1.) GOTO 5
E1 = -LOG(Z)-.57721566+.999999193*Z-.24991055*(Z**2)+.05519968*
2 (Z**3)-.00976004*(Z**4)+.00107857*(Z**5)
GOTO 6
5 E1 = (EXP(-Z)/Z)*(Z**2+2.334733*Z+.250621)/(Z**2+3.330657*Z+
2 1.681534)
6 E2 = (EXP(-Z) - Z*E1)/1.
GAM(55) = GAM(56)*E2
DO 10 I = 1,54
J = 55 - I
Z = (SIGEL + SIGCX + SIGION)*XNC(J)*DEL
IF(Z.GT.1.) GOTO 7
E1 = -LOG(Z)-.57721566+.999999193*Z-.24991055*(Z**2)+.05519968*
2 (Z**3)-.00976004*(Z**4)+.00107857*(Z**5)
GOTO 8
7 E1 = (EXP(-Z)/Z)*(Z**2+2.334733*Z+.250621)/(Z**2+3.330657*Z+
2 1.681534)
8 E2 = (EXP(-Z) - Z*E1)/1.
GAM(J) = GAM(J+1)*E2
10 CONTINUE
C NEUTRAL DENSITY
XNEUT(56) = (GAM(56)-GAM(55))/(SIGVTOT*XNC(56)*0.5*DELC)
DO 20 I =2,55
XNEUT(I) = (GAM(I)-GAM(I-1))/(SIGVTOT*XNC(I)*DELC)
20 CONTINUE
XNEUT(1) = 0.
C DSDN
50 DSVDN = XNEUT(J)*SIGVION
C DSDT
DSVDT = 0.
RETURN
END