VMEC 8.52
3D Equilibrium solver with nested flux surfaces.
Loading...
Searching...
No Matches
totzsp.f90 File Reference

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.
 

Detailed Description

Inverse-Fourier-transform geometry from Fourier space to real space.

Definition in file totzsp.f90.

Function/Subroutine Documentation

◆ convert_asym()

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.

Parameters
rmnsc
zmncc

Definition at line 379 of file totzsp.f90.

References vmec_main::lconm1, and stel_kinds::rprec.

Referenced by spectrum(), totzspa(), and wrout().

Here is the caller graph for this function:

◆ convert_sym()

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.

Parameters
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().

Here is the caller graph for this function:

◆ totzspa()

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.

Parameters
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ totzsps()

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)

Parameters
rzl_arrayFourier amplitudes for Rmnc, Zmns and Lmns for lasym false. When lasym is true, this also contains Rmns, Zmnc, Lmnc. @paran r11 Real space R
ru1Real space dR/du
rv1Real space dR/dz
z11Real space Z
zu1Real space dZ/du
zv1Real space dZ/dv
lu1Real space dlambda/du
lv1Real space -dlambda/dv
rcn1related to spectral constraint; sum_mn[m(m-1)*Rmn*cos(mu-nv)]
zcn1related 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().

Here is the call graph for this function:
Here is the caller graph for this function: