V3FIT
grad.f
1  SUBROUTINE grad(gradbs1, gradbs2, gradbs3, gradbs4, irho)
2 c
3 c calculate gradient factors, gradbs1 and gradbs2
4 c gradbs1 - due to electron density gradient
5 c gradbs2 - due to ion density gradient
6 c gradbs3 - due to electron temperature gradient
7 c gradbs4 - due to ion temperature gradient
8 c
9 C-----------------------------------------------
10 C M o d u l e s
11 C-----------------------------------------------
12  USE parambs
13  USE vmec0
14  IMPLICIT NONE
15 C-----------------------------------------------
16 C D u m m y A r g u m e n t s
17 C-----------------------------------------------
18  INTEGER :: irho
19  REAL(rprec) :: gradbs1, gradbs2, gradbs3, gradbs4
20 C-----------------------------------------------
21 C L o c a l V a r i a b l e s
22 C-----------------------------------------------
23  REAL(rprec) :: gradbs, de, de1, di, di1, p
24 C-----------------------------------------------
25 
26  gradbs =-2.5_dp*gpsi(irho)*qsafety(irho)*betar(irho)*sign_jacobian
27  de = dense(irho) !electron density
28  de1 = densrho1
29  di = dense(irho)/zeff1 !ion density
30  di1 = densrho1/zeff1
31  p = de*tempe1(irho) + di*tempi1(irho) + 1.e-36_dp !plasma pressure
32  gradbs1 = gradbs*de1*tempe1(irho)/p !due to electron density gradient
33  gradbs2 = gradbs*di1*tempi1(irho)/p !due to ion density gradient
34 c !due to electron temperature gradi
35  gradbs3 = alphae*gradbs*temperho1*de/p
36 c !due to ion temperature gradient
37  gradbs4 = alphai*gradbs*tempirho1*di/p
38 
39  END SUBROUTINE grad