VMEC
8.52
3D Equilibrium solver with nested flux surfaces.
Loading...
Searching...
No Matches
fext_fft.f90
Go to the documentation of this file.
1
!> \file
2
!> \brief Fourier transforms
3
4
!> \brief Extends \f$B_s\f$ from \c ntheta2 interval to full \c ntheta3 interval in angle \f$\theta\f$.
5
!>
6
!> @param bout output \f$B_s\f$
7
!> @param bs_s symmetric part of \f$B_s\f$
8
!> @param bs_a anti-symmetric part of \f$B_s\f$
9
SUBROUTINE
fext_fft
(bout, bs_s, bs_a)
10
USE
vmec_main
11
IMPLICIT NONE
12
13
REAL
(rprec),
DIMENSION(nzeta,ntheta3)
,
INTENT(out)
:: bout
14
REAL
(rprec),
DIMENSION(nzeta,ntheta2)
,
INTENT(in)
:: bs_s, bs_a
15
16
INTEGER
:: ir, i, kz, kzr
17
18
! Extends bs from ntheta2 interval to full ntheta3 interval in angle u
19
! bs_s ~ cos(mu-nv) ( symmetric)
20
! bs_a ~ sin(mu-nv) (anti-symmetric)
21
! ntheta2 = pi
22
bout(:,1:ntheta2) = bs_s(:,1:ntheta2) + bs_a(:,1:ntheta2)
23
DO
i = 1+ntheta2, ntheta3
24
! -theta
25
ir = ntheta1+2-i
26
DO
kz= 1, nzeta
27
! -zeta
28
! kzr = ireflect(kz*ns)/ns
29
kzr = nzeta+2-kz
30
IF
(kz .eq. 1) kzr = 1
31
32
bout(kz,i) = bs_s(kzr,ir) - bs_a(kzr,ir)
33
END DO
34
END DO
35
END SUBROUTINE
fext_fft
fext_fft
subroutine fext_fft(bout, bs_s, bs_a)
Extends from ntheta2 interval to full ntheta3 interval in angle .
Definition
fext_fft.f90:10
vmec_main
Definition
vmec_main.f90:2
src
fext_fft.f90
Generated on Mon Jan 20 2025 14:23:20 for VMEC by
1.13.2