V3FIT
Public Member Functions | Public Attributes | List of all members
fourier::fourier_class Interface Reference

Base class containing fourier memory. More...

Public Member Functions

PROCEDURE, pass toijsp_2d => fourier_toijsp_2d
 
PROCEDURE, pass toijsp_3d => fourier_toijsp_3d
 
GENERIC toijsp => toijsp_2d, toijsp_3d
 
PROCEDURE, pass tomnsp_3d => fourier_tomnsp_3d
 
PROCEDURE, pass tomnsp_2d => fourier_tomnsp_2d
 
PROCEDURE, pass tomnsp_2d_u => fourier_tomnsp_2d_u
 
PROCEDURE, pass tomnsp_2d_v => fourier_tomnsp_2d_v
 
PROCEDURE, pass tomnsp_3d_pest => fourier_tomnsp_3d_pest
 
PROCEDURE, pass tomnsp_2d_pest => fourier_tomnsp_2d_pest
 
PROCEDURE, pass tomnsp_2d_u_pest => fourier_tomnsp_2d_u_pest
 
GENERIC tomnsp => tomnsp_2d, tomnsp_3d, tomnsp_2d_u,
 
pass tomnsp_2d_v
 
pass tomnsp_3d_pest
 
pass tomnsp_2d_pest
 
pass tomnsp_2d_u_pest
 
PROCEDURE get_origin => fourier_get_origin
 
FINAL fourier_destruct
 
class(fourier_class) function, pointer fourier_construct (mpol, ntor, ntheta, nzeta, nfp, sym)
 Construct a fourier_class object.. More...
 

Public Attributes

real(dp), dimension(:,:), pointer orthonorm => null()
 Orthonorm factors for normalization.
 
real(dp), dimension(:,:), pointer cosmu => null()
 Cosine poloidal m and u values.
 
real(dp), dimension(:,:), pointer cosmum => null()
 Cosine derivative with respect to u for poloidal m and u values.
 
real(dp), dimension(:,:), pointer cosmui => null()
 Normalized Cosine poloidal m and u values.
 
real(dp), dimension(:,:), pointer cosnv => null()
 Cosine of nv.
 
real(dp), dimension(:,:), pointer cosnvn => null()
 Cosine derivative with respect to v.
 
real(dp), dimension(:,:), pointer sinmu => null()
 Sine poloidal m and u values.
 
real(dp), dimension(:,:), pointer sinmum => null()
 Sine derivative with respect to u for poloidal m and u values.
 
real(dp), dimension(:,:), pointer sinmui => null()
 Normalized Sine poloidal m and u values.
 
real(dp), dimension(:,:), pointer sinnv => null()
 Sine of nv.
 
real(dp), dimension(:,:), pointer sinnvn => null()
 Sine derivative with respect to v.
 
real(dp), dimension(:,:), pointer workmj1 => null()
 Working buffer for first mj terms.
 
real(dp), dimension(:,:), pointer workmj2 => null()
 Working buffer for second mj terms.
 
real(dp), dimension(:,:), pointer workin1 => null()
 Working buffer for first in terms.
 
real(dp), dimension(:,:), pointer workin2 => null()
 Working buffer for second in terms.
 

Detailed Description

Base class containing fourier memory.

Interface for the fourier constructor.

Definition at line 77 of file fourier.f90.

Member Function/Subroutine Documentation

◆ fourier_construct()

class (fourier_class) function, pointer fourier::fourier_class::fourier_construct ( integer, intent(in)  mpol,
integer, intent(in)  ntor,
integer, intent(in)  ntheta,
integer, intent(in)  nzeta,
integer, intent(in)  nfp,
logical, intent(in)  sym 
)

Construct a fourier_class object..

Allocates memory and initializes a fourier_class object. Computes the othronorm and cosine and sine buffers.

This subroutine computes the cosine-sine factors that will be needed when moving between Fourier and real space. All normalizations are contained in the poloidal quantities used in the Fourier to real space transformation:

  • sinmui
  • cosmui

Fourier representations are assumed to have stellarator symmetry: *# cosine (iparity=0): C(u, v) = sum_u sum_v (C_mn COS(mu + n*nfp*v)) *# sine (iparity=1): S(u, v) = sum_u sum_v (S_mn SIN(mu + n*nfp*v))

The number of collocation points have been set initalially equal to the number of modes: theta_j = j*pi/M, j = 0,...,M Where M = mpol - 1 zeta_k = k*2*pi/(2N + 1) k = 0,...,2N Where N = ntor.

Parameters
[in]mpolNumber of poloidal modes.
[in]ntorNumber of toroidal modes.
[in]nthetaNumber of poloidal real grid points.
[in]nzetaNumber of toroidal real grid points.
[in]nfpNumber of field periods.
[in]symSymmetry flag.

Definition at line 180 of file fourier.f90.


The documentation for this interface was generated from the following file: