V3FIT
Data Types | Modules | Functions/Subroutines | Variables
fourier.f90 File Reference

Contains module fourier. More...

Go to the source code of this file.

Data Types

interface  fourier::fourier_class
 Base class containing fourier memory. More...
 
interface  fourier::fourier_class
 Base class containing fourier memory. More...
 
interface  fourier::check
 Interface for checking results of the unit tests. More...
 

Modules

module  fourier
 Module contains subroutines for computing FFT on parallel radial intervals. Converts quantities between real and fourier space. Note fixarray must be called once before call any of the Fourier subroutines to calculate all necessary sine and cosine factors on a fixed mesh of collocation angles.
 

Functions/Subroutines

class(fourier_class) function, pointer fourier::fourier_construct (mpol, ntor, ntheta, nzeta, nfp, sym)
 Construct a fourier_class object.. More...
 
subroutine fourier::fourier_destruct (this)
 Deconstruct a fourier_class object. More...
 
subroutine fourier::fourier_tomnsp_3d (this, xuv, xmn, parity)
 Convert a quantity from real to fourier space in parallel. More...
 
subroutine fourier::fourier_tomnsp_3d_pest (this, xuv, xmn, lmns, lmnc,
 Convert a quantity from real to fourier space in pest coordinates. More...
 
pure subroutine fourier::fourier_tomnsp_2d (this, xuv, xmn, parity)
 Fourier transform a 2D quantity to fourier space. More...
 
pure subroutine fourier::fourier_tomnsp_2d_pest (this, xuv, xmn, lambda, dup
 Fourier transform a 2D quantity to fourier space. More...
 
pure subroutine fourier::fourier_tomnsp_2d_u (this, xuv)
 Sum over the poloidal part. More...
 
pure subroutine fourier::fourier_tomnsp_2d_u_pest (this, xuv, lambda, dupdu,
 Sum over the poloidal part. More...
 
pure subroutine fourier::fourier_tomnsp_2d_v (this, xmn, parity)
 Sum over toroidal angle. More...
 
subroutine fourier::fourier_toijsp_3d (this, xmn, xuv, dflag, parity)
 Convert a quantity from fourier to real space in parallel. More...
 
pure subroutine fourier::fourier_toijsp_2d (this, xmn, xuv, dflag, parity)
 Fourier transform a 2D quantity to real space. More...
 
subroutine fourier::fourier_get_origin (this, xuv, mode, asym)
 Computes the origin value of a half-mesh quantity. More...
 
subroutine fourier::fourier_round_trig (cosi, sini)
 Round trig values to whole number for near numbers. More...
 
logical function fourier::test_fourier ()
 Test fourier routines. More...
 
logical function, private fourier::check_mn (expected, received, m, n, name)
 Check test values. More...
 
logical function, private fourier::check_all (expected, received, mpol, ntor, name)
 Check all test values. More...
 

Variables

integer, parameter fourier::f_cos = 0
 Cosine parity.
 
integer, parameter fourier::f_sin = 1
 Sine parity.
 
integer, parameter fourier::f_none = 0
 Do not sum fouier real space transformed quantity. This is used when a stellarator symmetric parity is being converted to real space.
 
integer, parameter fourier::f_ds = 1
 Radial derivative flag.
 
integer, parameter fourier::f_du = 2
 Poloidal derivative flag.
 
integer, parameter fourier::f_dv = 4
 Toroidal derivative flag.
 
integer, parameter fourier::f_dudv = IOR(f_du, f_dv)
 Combined toroidal and poloidal derivatives.
 
integer, parameter fourier::f_sum = 8
 Sum fouier real space transformed quantity. This is used when a non-stellarator symmetric parity is being converted to real space.
 
integer, parameter fourier::b_ds = 0
 Bit position of the f_ds flag.
 
integer, parameter fourier::b_du = 1
 Bit position of the f_du flag.
 
integer, parameter fourier::b_dv = 2
 Bit position of the f_dv flag.
 
integer, parameter fourier::b_sum = 3
 Bit position of the f_sum flag.
 
integer, parameter fourier::m0 = 0
 m = 0 mode.
 
integer, parameter fourier::m1 = 1
 m = 1 mode.
 
integer, parameter fourier::m2 = 2
 m = 2 mode.
 
integer, parameter fourier::n0 = 0
 n = 0 mode.
 
integer, parameter fourier::n1 = 1
 n = 1 mode.
 

Detailed Description

Contains module fourier.

Definition in file fourier.f90.