VMEC
8.52
3D Equilibrium solver with nested flux surfaces.
Loading...
Searching...
No Matches
vacmod0.f90
Go to the documentation of this file.
1
2
MODULE
vacmod0
3
IMPLICIT NONE
4
5
INTEGER
::
mf
6
INTEGER
::
nf
7
INTEGER
::
nu
8
INTEGER
::
nv
9
INTEGER
::
mf1
10
INTEGER
::
nf1
11
INTEGER
::
mnpd
12
INTEGER
::
mnpd2
13
INTEGER
::
nuv
14
INTEGER
::
nu2
15
INTEGER
::
nu3
16
INTEGER
::
nuv2
17
INTEGER
::
nfper
18
19
INTEGER
::
nvper
20
INTEGER
::
nuv_tan
21
INTEGER
::
nvp
22
23
INTEGER
::
ndim
24
25
contains
26
27
subroutine
set_nestor_sizes
(nfp, ntor, mpol, nzeta, ntheta, lasym)
28
29
integer
,
intent(in)
:: nfp
30
integer
,
intent(in)
:: ntor
31
integer
,
intent(in)
:: mpol
32
integer
,
intent(in)
:: nzeta
33
integer
,
intent(in)
:: ntheta
34
logical
,
intent(in)
:: lasym
35
36
! NOTE copied from vmec:read_indata
37
integer
:: ntheta1, ntheta2, ntheta3, nznt
38
39
!print *, "set_nestor_sizes"
40
41
! even (rounded down) ntheta
42
ntheta1 = 2*(ntheta/2)
43
44
! odd stellarator-symmetric little-more-than-half of ntheta
45
ntheta2 = 1 + ntheta1/2
46
47
IF
(.NOT.lasym)
THEN
48
ntheta3 = ntheta2
49
ELSE
50
ntheta3 = ntheta1
51
END IF
52
53
nznt = nzeta*ntheta3
54
! END copied from vmec:read_indata
55
56
! from here on, for NESTOR only
57
mf
= mpol+1
58
nf
= ntor
59
nu
= ntheta1
60
nv
= nzeta
61
mf1
= 1+
mf
62
nf1
= 2*
nf
+1
63
mnpd
=
mf1
*
nf1
64
65
IF
(.NOT.lasym)
THEN
66
mnpd2
=
mnpd
67
ndim
= 1
68
ELSE
69
mnpd2
= 2*
mnpd
70
ndim
= 2
71
END IF
72
! ndim = mnpd2/mnpd
73
74
nuv
=
nu
*
nv
75
nfper
= nfp
76
nu2
=
nu
/2 + 1
! nu2 is equal to ntheta2
77
nu3
= ntheta3
78
nuv2
= nznt
! == nv * nu3
79
80
IF
(
nv
== 1)
THEN
81
! AXISYMMETRIC CASE: DO FP SUM TO INTEGRATE IN V
82
nvper
= 64
83
nuv_tan
= 2*
nu
*
nvper
84
ELSE
85
nvper
=
nfper
86
nuv_tan
= 2*
nuv
87
END IF
88
89
nvp
=
nv
*
nvper
90
91
! in the end:
92
! nu = ntheta1
93
! nu2 = ntheta2
94
! nu3 = ntheta3
95
96
end subroutine
set_nestor_sizes
97
98
END MODULE
vacmod0
vacmod0
Definition
vacmod0.f90:2
vacmod0::mnpd2
integer mnpd2
Definition
vacmod0.f90:12
vacmod0::nfper
integer nfper
Definition
vacmod0.f90:17
vacmod0::nu3
integer nu3
Definition
vacmod0.f90:15
vacmod0::mnpd
integer mnpd
Definition
vacmod0.f90:11
vacmod0::nf1
integer nf1
Definition
vacmod0.f90:10
vacmod0::mf1
integer mf1
Definition
vacmod0.f90:9
vacmod0::set_nestor_sizes
subroutine set_nestor_sizes(nfp, ntor, mpol, nzeta, ntheta, lasym)
Definition
vacmod0.f90:28
vacmod0::nuv_tan
integer nuv_tan
Definition
vacmod0.f90:20
vacmod0::nvper
integer nvper
Definition
vacmod0.f90:19
vacmod0::nf
integer nf
Definition
vacmod0.f90:6
vacmod0::ndim
integer ndim
Definition
vacmod0.f90:23
vacmod0::nuv
integer nuv
Definition
vacmod0.f90:13
vacmod0::nu2
integer nu2
Definition
vacmod0.f90:14
vacmod0::nvp
integer nvp
Definition
vacmod0.f90:21
vacmod0::nu
integer nu
Definition
vacmod0.f90:7
vacmod0::nuv2
integer nuv2
Definition
vacmod0.f90:16
vacmod0::nv
integer nv
Definition
vacmod0.f90:8
vacmod0::mf
integer mf
Definition
vacmod0.f90:5
src
NESTOR
data
vacmod0.f90
Generated on Tue Aug 13 2024 16:02:51 for VMEC by
1.12.0