VMEC 8.52
3D Equilibrium solver with nested flux surfaces.
|
Inverse-Fourier-transform geometry from Fourier space to real space. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | totzsps (rzl_array, r11, ru1, rv1, z11, zu1, zv1, lu1, lv1, rcn1, zcn1) |
Inverse-Fourier-transform symmetric part of geometry from Fourier space to real space. | |
subroutine | convert_sym (rmnss, zmncs) |
Convert from internal representation to "physical" rmnss, zmncs Fourier form. | |
subroutine | totzspa (rzl_array, r11, ru1, rv1, z11, zu1, zv1, lu1, lv1, rcn1, zcn1) |
Inverse-Fourier-transform anti-symmetric part of geometry from Fourier space to real space. | |
subroutine | convert_asym (rmnsc, zmncc) |
Convert from internal representation to "physical" rmnsc, zmncc Fourier form. | |
Inverse-Fourier-transform geometry from Fourier space to real space.
Definition in file totzsp.f90.
subroutine convert_asym | ( | real(rprec), dimension(ns,0:ntor,0:mpol1), intent(inout) | rmnsc, |
real(rprec), dimension(ns,0:ntor,0:mpol1), intent(inout) | zmncc ) |
Convert from internal representation to "physical" rmnsc, zmncc Fourier form.
rmnsc | |
zmncc |
Definition at line 379 of file totzsp.f90.
References vmec_main::lconm1, and stel_kinds::rprec.
Referenced by spectrum(), totzspa(), and wrout().
subroutine convert_sym | ( | real(rprec), dimension(ns,0:ntor,0:mpol1), intent(inout) | rmnss, |
real(rprec), dimension(ns,0:ntor,0:mpol1), intent(inout) | zmncs ) |
Convert from internal representation to "physical" rmnss, zmncs Fourier form.
rmnss | |
zmncs |
Definition at line 216 of file totzsp.f90.
References vmec_main::lconm1, vmec_params::m1, and stel_kinds::rprec.
Referenced by spectrum(), totzsps(), and wrout().
subroutine totzspa | ( | real(rprec), dimension(ns,0:ntor,0:mpol1,3*ntmax), intent(inout), target | rzl_array, |
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | r11, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | ru1, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | rv1, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | z11, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | zu1, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | zv1, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | lu1, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | lv1, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | rcn1, | ||
real(rprec), dimension(ns*nzeta,ntheta3,0:1), intent(out) | zcn1 ) |
Inverse-Fourier-transform anti-symmetric part of geometry from Fourier space to real space.
rzl_array | |
r11 | |
ru1 | |
rv1 | |
z11 | |
zu1 | |
zv1 | |
lu1 | |
lv1 | |
rcn1 | |
zcn1 |
Definition at line 256 of file totzsp.f90.
References convert_asym(), vmec_params::jlam, vmec_params::jmin1, vmec_main::lthreed, vmec_params::m0, vmec_params::m1, vmec_params::n0, vmec_params::ntmax, vmec_params::rcs, stel_kinds::rprec, vmec_params::rsc, vmec_main::xmpq, vmec_params::zcc, and vmec_params::zss.
Referenced by funct3d().
subroutine totzsps | ( | real(rprec), dimension(ns,0:ntor,0:mpol1,3*ntmax), intent(inout), target | rzl_array, |
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | r11, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | ru1, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | rv1, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | z11, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | zu1, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | zv1, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | lu1, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | lv1, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | rcn1, | ||
real(rprec), dimension(ns*nzeta*ntheta3,0:1), intent(out) | zcn1 ) |
Inverse-Fourier-transform symmetric part of geometry from Fourier space to real space.
Forier transforms between Fourier space and real space. Computes quantities for R, dR/du, dR/dv, Z, dZ/du, dZ/dv, dlambda/du and dlambda/dv. Non derivative quantities are trans formed via
A_real = A_mnc*cos(mu - nv) + A_mns*sin(mu - nv) (1)
Derivatives with respect to u are transformed as
dA_real/du = -m*A_mnc*sin(mu - nv) + m*A_mns*cos(mu - nv) (2)
Derivatives with respect to v are transformed as
dA_real/dv = n*A_mnc*sin(mu - nv) - m*A_mns*cos(mu - nv) (3)
rzl_array | Fourier amplitudes for Rmnc, Zmns and Lmns for lasym false. When lasym is true, this also contains Rmns, Zmnc, Lmnc. @paran r11 Real space R |
ru1 | Real space dR/du |
rv1 | Real space dR/dz |
z11 | Real space Z |
zu1 | Real space dZ/du |
zv1 | Real space dZ/dv |
lu1 | Real space dlambda/du |
lv1 | Real space -dlambda/dv |
rcn1 | related to spectral constraint; sum_mn[m(m-1)*Rmn*cos(mu-nv)] |
zcn1 | related to spectral constraint; sum_mn[m(m-1)*Zmn*sin(mu-nv)] |
Definition at line 32 of file totzsp.f90.
References convert_sym(), vmec_params::jlam, vmec_params::jmin1, vmec_main::lthreed, vmec_params::m0, vmec_params::m1, vmec_params::n0, vmec_params::ntmax, vmec_params::rcc, stel_kinds::rprec, vmec_params::rss, vmec_main::xmpq, vmec_params::zcs, and vmec_params::zsc.
Referenced by funct3d().