34 TYPE (type_coreprof
),
POINTER :: coreprof_in(:)
35 TYPE (type_coretransp
),
POINTER :: coretransp_out(:)
38 INTEGER,
PARAMETER :: nslice = 1
43 INTEGER,
ALLOCATABLE :: nzimp(:)
45 INTEGER,
ALLOCATABLE :: ncomp(:)
46 INTEGER,
ALLOCATABLE :: ntype(:)
50 REAL (R8),
ALLOCATABLE :: te(:)
51 REAL (R8),
ALLOCATABLE :: ne(:)
52 REAL (R8),
ALLOCATABLE :: tau_e(:)
53 REAL (R8),
ALLOCATABLE :: sigma(:)
56 REAL (R8),
PARAMETER :: me = itm_me*1e3_r8
57 REAL (R8),
PARAMETER :: e = itm_qe*3e9_r8
58 REAL (R8),
PARAMETER :: cn = 1.e-6_r8
59 REAL (R8),
PARAMETER :: cs = 9.e9_r8
63 nrho =
SIZE (coreprof_in(1)%rho_tor)
64 CALL
get_comp_dimensions(coreprof_in(1)%COMPOSITIONS, nnucl, nion, nimp, nzimp, nneut, ntype, ncomp)
68 coretransp_out(1)%VALUES(1)%rho_tor = coreprof_in(1)%rho_tor
73 ALLOCATE (tau_e(nrho))
74 ALLOCATE (sigma(nrho))
75 rho_loop1:
DO irho =1,nrho
76 te(irho) = coreprof_in(1)%TE%value(irho)
77 ne(irho) = coreprof_in(1)%NE%value(irho)
82 IF(te(irho).GE.10) clog = 24.e0_r8 - 1.15e0_r8*log10(ne(irho)*cn) + 2.30e0_r8*log10(te(irho))
83 IF(te(irho).LT.10) clog = 23.e0_r8 - 1.15e0_r8*log10(ne(irho)*cn) + 3.45e0_r8*log10(te(irho))
87 tau_e(irho) = (sqrt(2.d0*me)*(te(irho))**1.5) / 1.8d-19 / (ne(irho)*cn) / clog
91 sigma(irho) = 1.96e0_r8 * e**2 *ne(irho)*cn * tau_e(irho) /me /cs
95 coretransp_out(1)%VALUES(1)%sigma = sigma
98 ALLOCATE (coretransp_out(1)%VALUES(1)%transportid%id(1))
99 ALLOCATE (coretransp_out(1)%VALUES(1)%transportid%description(1))
100 coretransp_out(1)%VALUES(1)%transportid%id =
'spitzer'
101 coretransp_out(1)%VALUES(1)%transportid%flag = 14
102 coretransp_out(1)%VALUES(1)%transportid%description =
'Spitzer Resistivity'
105 IF (
ALLOCATED(te))
DEALLOCATE (te)
106 IF (
ALLOCATED(ne))
DEALLOCATE (ne)
107 IF (
ALLOCATED(tau_e))
DEALLOCATE (tau_e)
108 IF (
ALLOCATED(sigma))
DEALLOCATE (sigma)
subroutine spitzer_resistivity(COREPROF_IN, CORETRANSP_OUT)
subroutine get_comp_dimensions(COMPOSITIONS, NNUCL, NION, NIMP, NZIMP, NNEUT, NTYPE, NCOMP)
This routine calculates the collision frquencies and various exchange terms determined by collisions...
This module contains routines for allocation/deallocation if CPOs used in ETS.
subroutine allocate_coretransp_cpo(NSLICE, NRHO, NNUCL, NION, NIMP, NZIMP, NNEUT, NTYPE, NCOMP, CORETRANSP)
This routine allocates CORETRANSP CPO.