nofourier

Module

Description

$Id$

This module contains FFT wrapper subroutines.

Quick access

Variables:

ax, ay, az, fft_x_parallel, fft_x_parallel_1d, fft_x_parallel_2d, fft_x_parallel_3d, fft_x_parallel_4d, fft_xy_parallel, fft_xy_parallel_2d, fft_xy_parallel_2d_other, fft_xy_parallel_3d, fft_xy_parallel_4d, fft_xyz_parallel, fft_xyz_parallel_3d, fft_xyz_parallel_3d_body, fft_xyz_parallel_4d, fft_y_parallel, fft_y_parallel_1d, fft_y_parallel_2d, fft_y_parallel_3d, fft_y_parallel_4d, fft_z_parallel, fft_z_parallel_1d, fft_z_parallel_2d, fft_z_parallel_3d, fft_z_parallel_4d, fourier_transform_other, fourier_transform_other_1, fourier_transform_other_2, fourier_transform_xy_xy_body, kx_fft, kx_fft2, ky_fft, ky_fft2, kz_fft, kz_fft2, p_im_2d, p_im_3d, p_im_4d, p_re_2d, p_re_3d, p_re_4d, t_im_2d, t_im_3d, t_im_4d, t_re_2d, t_re_3d, t_re_4d, wsavex, wsavey, wsavez

Routines:

fft_xy_parallel_2d_other(), field_extrapol_z_parallel(), fourier_shift_y(), fourier_shift_yz_y(), fourier_transform(), fourier_transform_real_1(), fourier_transform_shear(), fourier_transform_shear_xy(), fourier_transform_x(), fourier_transform_xy(), fourier_transform_xy_xy(), fourier_transform_xy_xy_other(), fourier_transform_xz(), fourier_transform_y(), fourier_transform_y_y(), initialize_fourier(), setup_extrapol_fact(), vect_pot_extrapol_z_parallel()

Needed modules

Variables

  • fourier/fft_x_parallel [public]
  • fourier/fft_x_parallel_1d [private]
  • fourier/fft_x_parallel_2d [private]
  • fourier/fft_x_parallel_3d [private]
  • fourier/fft_x_parallel_4d [private]
  • fourier/fft_xy_parallel [public]
  • fourier/fft_xy_parallel_2d [private]
  • fourier/fft_xy_parallel_3d [private]
  • fourier/fft_xy_parallel_4d [private]
  • fourier/fft_xyz_parallel [public]
  • fourier/fft_xyz_parallel_3d [private]
  • fourier/fft_xyz_parallel_4d [private]
  • fourier/fft_y_parallel [public]
  • fourier/fft_y_parallel_1d [private]
  • fourier/fft_y_parallel_2d [private]
  • fourier/fft_y_parallel_3d [private]
  • fourier/fft_y_parallel_4d [private]
  • fourier/fft_z_parallel [public]
  • fourier/fft_z_parallel_1d [private]
  • fourier/fft_z_parallel_2d [private]
  • fourier/fft_z_parallel_3d [private]
  • fourier/fft_z_parallel_4d [private]
  • fourier/fourier_transform_other [public]
  • fourier/fourier_transform_other_1 [private]
  • fourier/fourier_transform_other_2 [private]
  • fourier/kx_fft (nxgrid) [real,public]
  • fourier/kx_fft2 (nxgrid) [real,public]
  • fourier/ky_fft (nygrid) [real,public]
  • fourier/ky_fft2 (nygrid) [real,public]
  • fourier/kz_fft (nzgrid) [real,public]
  • fourier/kz_fft2 (nzgrid) [real,public]

Subroutines and functions

subroutine  fourier/initialize_fourier()
Use :

general (idiv())

Called from:

register_modules(), initialize_modules()

Call to:

fatal_error()

subroutine  fourier/fourier_transform(a_re, a_im[, linv])

Subroutine to do Fourier transform.

Parameters:
  • a_re (nx,ny,nz) [real]

  • a_im (nx,ny,nz) [real]

  • linv [logical]

Called from:

calculate_vars_magnetic(), bc_frozen_in_bb_z(), phi_siny_over_r2(), sinxsinz(), sinx_siny_sinz(), sinx_siny_cosz(), x3_siny_cosz(), x_siny_cosz(), x1_siny_cosz(), x32_siny_cosz(), x1_cosy_cosz(), lnx_cosy_cosz(), cosx_siny_cosz(), sinx_cosy_cosz(), sin2x_sin2y_cosz(), cosxz_cosz(), cosyz_sinz(), cosx_cosy_cosz(), cosx_cosz(), cosy_cosz(), cosy_sinz(), x3_cosy_cosz(), cosx_coscosy_cosz(), cos2x_cos2y_cos2z(), xpoint(), xpoint2(), innerbox(), couette(), couette_rings(), hat(), hat3d(), gaussian(), gaussian3d(), gaussianpos(), parabola(), wave(), linprof(), wave_uu(), acosy(), modes(), modev(), modeb(), jump(), bjump(), bjumpz(), beltrami_old(), abc_field(), beltrami(), beltramik_general(), beltrami_general(), bihelical(), bhyperz(), beltrami_complex(), bessel_x(), bessel_az_x(), straining(), rolls(), robertsflow(), rotated_robertsflow(), exponential(), vecpatternxy(), bipolar(), bipolar_restzero(), soundwave(), coswave(), sph_constb(), hatwave(), sinwave(), sinwave_phase(), coswave_phase(), hawley_etal99a(), stratification(), stratification_x(), stratification_xz(), planet_hc(), planet(), vortex_2d(), baroclinic(), crazy(), strange(), htanh(), vtube(), vtube_peri(), htube(), htube_x(), htube_erf(), htube2(), htube2_x(), magsupport(), hfluxlayer(), hfluxlayer_y(), hfluxlayer_y_theta(), vfluxlayer(), arcade_x(), halfcos_x(), halfcos_z(), uniform_x(), uniform_y(), uniform_z(), uniform_phi(), gaussian_by_z(), phi_comp_over_r(), vfield(), vfield2(), trilinear(), triquad(), isotdisk(), cos_cos_sin(), tor_pert(), const_omega(), diffrot(), olddiffrot(), powern(), initialize_power_spectrum(), read_power_spectrum_run_pars(), write_power_spectrum_run_pars(), power(), crossspec(), power_2d(), power_xy(), powerhel(), powerlor(), poweromu(), poweremf(), powertra(), powergws(), powerscl(), power_1d(), pdf(), pdf_2d(), pdf1d_ang(), power_phi(), powerhel_phi(), power_vec(), input_particles(), output_particles(), append_npvar(), append_npaux(), boundconds_particles(), sum_par_name(), max_par_name(), integrate_par_name()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_xy(a_re, a_im[, linv])

Subroutine to do Fourier transform in the x- and y-directions.

Parameters:
  • a_re (nx,ny,nz) [real]

  • a_im (nx,ny,nz) [real]

  • linv [logical]

Called from:

register_density(), initialize_density(), init_lnrho(), density_before_boundary(), pencil_criteria_density(), pencil_interdep_density(), density_after_boundary(), dlnrho_dt(), impose_density_floor(), read_density_init_pars(), write_density_init_pars(), read_density_run_pars(), write_density_run_pars(), rprint_density(), get_slices_density(), get_slices_pressure(), get_init_average_density(), calc_pencils_density(), initialize_power_spectrum(), read_power_spectrum_run_pars(), write_power_spectrum_run_pars(), power(), crossspec(), power_2d(), anelastic_after_mn()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_xz(a_re, a_im[, linv])

Subroutine to do Fourier transform in the x- and z-directions.

Parameters:
  • a_re (nx,ny,nz) [real]

  • a_im (nx,ny,nz) [real]

  • linv [logical]

Called from:

initialize_power_spectrum(), read_power_spectrum_run_pars(), write_power_spectrum_run_pars(), power(), crossspec()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_x(a_re, a_im[, linv])

Subroutine to do Fourier transform in the x-direction.

Parameters:
  • a_re (nx,ny,nz) [real]

  • a_im (nx,ny,nz) [real]

  • linv [logical]

Called from:

initialize_power_spectrum(), read_power_spectrum_run_pars(), write_power_spectrum_run_pars(), power(), crossspec(), power_2d(), power_xy(), powerhel(), powerlor(), poweromu(), poweremf(), powertra(), powergws(), powerscl(), power_1d()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_y(a_re, a_im[, linv])

Subroutine to do Fourier transform in the x-direction.

Parameters:
  • a_re (nx,ny,nz) [real]

  • a_im (nx,ny,nz) [real]

  • linv [logical]

Called from:

inverse_laplacian_cyl2cart(), inverse_laplacian_bessel(), inverse_laplacian_sor()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_shear(a_re, a_im[, linv])

Subroutine to do Fourier transform in shearing coordinates.

Parameters:
  • a_re (nx,ny,nz) [real]

  • a_im (nx,ny,nz) [real]

  • linv [logical]

Called from:

input_particles(), output_particles(), append_npvar(), append_npaux(), boundconds_particles(), sum_par_name(), max_par_name(), integrate_par_name()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_shear_xy(a_re, a_im[, linv])

Subroutine to do Fourier transform in shearing coordinates in x- and y-directions.

Parameters:
  • a_re (nx,ny,nz) [real]

  • a_im (nx,ny,nz) [real]

  • linv [logical]

Call to:

fatal_error()

subroutine  fourier/fourier_transform_xy_xy(a_re, a_im[, linv[, lneed_im]])

Subroutine to do Fourier transform of a 2-D array of arbitrary size.

Parameters:
  • a_re (nx,ny) [real,inout]

  • a_im (nx,ny) [real,inout]

  • linv [logical,in,]

  • lneed_im [logical,in,]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c(), jet_x(), finalize_boundcond()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_xy_xy_other(a_re, a_im[, linv])

Subroutine to do Fourier transform of a 2-D array of arbitrary size.

Parameters:
  • a_re (,) [real]

  • a_im (,) [real]

  • linv [logical]

Called from:

inverse_laplacian_cyl2cart()

Call to:

fatal_error()

subroutine  fourier/fft_xy_parallel_2d_other(a_re, a_im[, linv])

Subroutine to do FFT of distributed 2D data in the x- and y-direction.

Parameters:
  • a_re (,) [real,inout]

  • a_im (,) [real,inout]

  • linv [logical,in,]

Call to:

fatal_error()

subroutine  fourier/setup_extrapol_fact(z, ref_z, factor[, reduce])

Subroutine to setup ‘factor’ for z-extrapolation of a vector potential. ‘factor’ is the multiplication factor for the Fourier coefficients, including the normalization.

Parameters:
  • z (*) [real,in]

  • ref_z [real,in]

  • factor (,,*) [real,out]

  • reduce [real,in,]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c(), jet_x(), phi_siny_over_r2(), sinxsinz(), sinx_siny_sinz(), sinx_siny_cosz(), x3_siny_cosz(), x_siny_cosz(), x1_siny_cosz(), x32_siny_cosz(), x1_cosy_cosz(), lnx_cosy_cosz(), cosx_siny_cosz(), sinx_cosy_cosz(), sin2x_sin2y_cosz(), cosxz_cosz(), cosyz_sinz(), cosx_cosy_cosz(), cosx_cosz(), cosy_cosz(), cosy_sinz(), x3_cosy_cosz(), cosx_coscosy_cosz(), cos2x_cos2y_cos2z(), xpoint(), xpoint2(), innerbox(), couette(), couette_rings(), hat(), hat3d(), gaussian(), gaussian3d(), gaussianpos(), parabola(), wave(), linprof(), wave_uu(), acosy(), modes(), modev(), modeb(), jump(), bjump(), bjumpz(), beltrami_old(), abc_field(), beltrami(), beltramik_general(), beltrami_general(), bihelical(), bhyperz(), beltrami_complex(), bessel_x(), bessel_az_x(), straining(), rolls(), robertsflow(), rotated_robertsflow(), exponential(), vecpatternxy(), bipolar(), bipolar_restzero(), soundwave(), coswave(), sph_constb(), hatwave(), sinwave(), sinwave_phase(), coswave_phase(), hawley_etal99a(), stratification(), stratification_x(), stratification_xz(), planet_hc(), planet(), vortex_2d(), baroclinic(), crazy(), strange(), htanh(), vtube(), vtube_peri(), htube(), htube_x(), htube_erf(), htube2(), htube2_x(), magsupport(), hfluxlayer(), hfluxlayer_y(), hfluxlayer_y_theta(), vfluxlayer(), arcade_x(), halfcos_x(), halfcos_z(), uniform_x(), uniform_y(), uniform_z(), uniform_phi(), gaussian_by_z(), phi_comp_over_r(), vfield(), vfield2(), trilinear(), triquad(), isotdisk(), cos_cos_sin(), tor_pert(), const_omega(), diffrot(), olddiffrot(), powern(), power_randomphase(), power_randomphase_hel(), bunch_davies(), random_isotropic_ks(), random_isotropic_shell(), corona_init(), mdi_init(), mag_init()

Call to:

fatal_error()

subroutine  fourier/vect_pot_extrapol_z_parallel(in, out, factor)

Subroutine to do a z-extrapolation of a vector potential using ‘factor’ as a multiplication factor to the Fourier coefficients.

Parameters:
  • in (,,*) [real,in] :: ‘)

  • out (,,*,*) [real,out]

  • factor (,,*) [real,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c(), jet_x(), finalize_boundcond()

Call to:

fatal_error()

subroutine  fourier/field_extrapol_z_parallel(in, out, factor)

Subroutine to do a z-extrapolation of a fields z-component using ‘factor’ as a multiplication factor to the Fourier coefficients.

Parameters:
  • in (,) [real,in] :: ‘)

  • out (,,*,*) [real,out]

  • factor (,,*) [real,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c(), jet_x(), phi_siny_over_r2(), sinxsinz(), sinx_siny_sinz(), sinx_siny_cosz(), x3_siny_cosz(), x_siny_cosz(), x1_siny_cosz(), x32_siny_cosz(), x1_cosy_cosz(), lnx_cosy_cosz(), cosx_siny_cosz(), sinx_cosy_cosz(), sin2x_sin2y_cosz(), cosxz_cosz(), cosyz_sinz(), cosx_cosy_cosz(), cosx_cosz(), cosy_cosz(), cosy_sinz(), x3_cosy_cosz(), cosx_coscosy_cosz(), cos2x_cos2y_cos2z(), xpoint(), xpoint2(), innerbox(), couette(), couette_rings(), hat(), hat3d(), gaussian(), gaussian3d(), gaussianpos(), parabola(), wave(), linprof(), wave_uu(), acosy(), modes(), modev(), modeb(), jump(), bjump(), bjumpz(), beltrami_old(), abc_field(), beltrami(), beltramik_general(), beltrami_general(), bihelical(), bhyperz(), beltrami_complex(), bessel_x(), bessel_az_x(), straining(), rolls(), robertsflow(), rotated_robertsflow(), exponential(), vecpatternxy(), bipolar(), bipolar_restzero(), soundwave(), coswave(), sph_constb(), hatwave(), sinwave(), sinwave_phase(), coswave_phase(), hawley_etal99a(), stratification(), stratification_x(), stratification_xz(), planet_hc(), planet(), vortex_2d(), baroclinic(), crazy(), strange(), htanh(), vtube(), vtube_peri(), htube(), htube_x(), htube_erf(), htube2(), htube2_x(), magsupport(), hfluxlayer(), hfluxlayer_y(), hfluxlayer_y_theta(), vfluxlayer(), arcade_x(), halfcos_x(), halfcos_z(), uniform_x(), uniform_y(), uniform_z(), uniform_phi(), gaussian_by_z(), phi_comp_over_r(), vfield(), vfield2(), trilinear(), triquad(), isotdisk(), cos_cos_sin(), tor_pert(), const_omega(), diffrot(), olddiffrot(), powern(), power_randomphase(), power_randomphase_hel(), bunch_davies(), random_isotropic_ks(), random_isotropic_shell(), corona_init(), mdi_init(), mag_init()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_y_y(a_re, a_im[, linv])

Subroutine to do Fourier transform of a 1-D array under MPI.

Parameters:
  • a_re (ny) [real]

  • a_im (ny) [real]

  • linv [logical]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c(), jet_x(), finalize_boundcond()

Call to:

fatal_error()

subroutine  fourier/fourier_shift_yz_y(a_re, shift_y)

Performs a periodic shift in the y-direction of an entire y-z plane by the amount shift_y.

02-oct-07/anders: dummy

Parameters:
  • a_re (ny,nz) [real]

  • shift_y [real]

Called from:

register_shear(), initialize_shear(), read_shear_init_pars(), write_shear_init_pars(), read_shear_run_pars(), write_shear_run_pars(), shear_before_boundary(), pencil_criteria_shear(), pencil_interdep_shear(), calc_pencils_shear(), shearing(), calc_diagnostics_shear(), advance_shear(), sheared_advection_fft(), boundcond_shear(), shear_variables(), rprint_shear(), get_uy0_shear(), get_hyper3x_mesh(), shear_frame_transform()

Call to:

fatal_error()

subroutine  fourier/fourier_shift_y(a_re, shift_y)

Performs a periodic shift in the y-direction by the amount shift_y.

04-oct-07/anders: dummy

Parameters:
  • a_re (nx,ny,nz) [real]

  • shift_y (nx) [real]

Called from:

register_shear(), initialize_shear(), read_shear_init_pars(), write_shear_init_pars(), read_shear_run_pars(), write_shear_run_pars(), shear_before_boundary(), pencil_criteria_shear(), pencil_interdep_shear(), calc_pencils_shear(), shearing(), calc_diagnostics_shear(), advance_shear(), sheared_advection_fft(), shear_variables()

Call to:

fatal_error()

subroutine  fourier/fourier_transform_real_1(a, na, ifirst_fft[, wsavex_temp[, linv]])

1-jul-08/axel: dummy routine

Parameters:
  • a (na) [real]

  • na [integer,in,]

  • ifirst_fft [integer,in]

  • wsavex_temp (15 + 2 * na) [real]

  • linv [logical]

Called from:

initialize_power_spectrum(), read_power_spectrum_run_pars(), write_power_spectrum_run_pars(), power(), crossspec(), power_2d(), power_xy(), powerhel(), powerlor(), poweromu(), poweremf(), powertra(), powergws(), powerscl(), power_1d(), pdf(), pdf_2d(), pdf1d_ang(), power_phi(), powerhel_phi()

Call to:

fatal_error()