V3FIT
|
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. | |
Base class containing fourier memory.
Interface for the fourier constructor.
Definition at line 77 of file fourier.f90.
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:
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.
[in] | mpol | Number of poloidal modes. |
[in] | ntor | Number of toroidal modes. |
[in] | ntheta | Number of poloidal real grid points. |
[in] | nzeta | Number of toroidal real grid points. |
[in] | nfp | Number of field periods. |
[in] | sym | Symmetry flag. |
Definition at line 180 of file fourier.f90.