DAMASK with grid solvers  Revision: v2.0.3-2204-gdb1f2151
The Düsseldorf Advanced Material Simulation Kit with Grid Solvers
spectral_utilities Module Reference

Utilities used by the different spectral solver variants. More...

Data Types

type  tboundarycondition
 set of parameters defining a boundary condition More...
 
type  tloadcase
 
type  tnumerics
 
type  tsolutionparams
 
type  tsolutionstate
 return type of solution from spectral solver variants More...
 

Enumerations

enum  
 
enum  { derivative_continuous_id, derivative_central_diff_id, derivative_fwbw_diff_id }
 

Functions/Subroutines

subroutine, public utilities_init
 allocates all neccessary fields, sets debug flags, create plans for FFTW More...
 
subroutine, public utilities_updategamma (C)
 updates reference stiffness and potentially precalculated gamma operator More...
 
subroutine, public utilities_ffttensorforward
 forward FFT of data in field_real to field_fourier More...
 
subroutine, public utilities_ffttensorbackward
 backward FFT of data in field_fourier to field_real More...
 
subroutine, public utilities_fftscalarforward
 forward FFT of data in scalarField_real to scalarField_fourier More...
 
subroutine, public utilities_fftscalarbackward
 backward FFT of data in scalarField_fourier to scalarField_real More...
 
subroutine, public utilities_fftvectorforward
 forward FFT of data in field_real to field_fourier with highest freqs. removed More...
 
subroutine, public utilities_fftvectorbackward
 backward FFT of data in field_fourier to field_real More...
 
subroutine, public utilities_fouriergammaconvolution (fieldAim)
 doing convolution gamma_hat * field_real, ensuring that average value = fieldAim More...
 
subroutine, public utilities_fouriergreenconvolution (D_ref, mobility_ref, deltaT)
 doing convolution DamageGreenOp_hat * field_real More...
 
real(preal) function, public utilities_divergencerms ()
 calculate root mean square of divergence of field_fourier More...
 
real(preal) function, public utilities_curlrms ()
 calculate max of curl of field_fourier More...
 
real(preal) function, dimension(3, 3, 3, 3), public utilities_maskedcompliance (rot_BC, mask_stress, C)
 calculates mask compliance tensor used to adjust F to fullfill stress BC More...
 
subroutine, public utilities_fourierscalargradient ()
 calculate scalar gradient in fourier field More...
 
subroutine, public utilities_fouriervectordivergence ()
 calculate vector divergence in fourier field More...
 
subroutine, public utilities_fouriervectorgradient ()
 calculate vector gradient in fourier field More...
 
subroutine, public utilities_fouriertensordivergence ()
 calculate tensor divergence in fourier field More...
 
subroutine, public utilities_constitutiveresponse (P, P_av, C_volAvg, C_minmaxAvg, F, timeinc, rotation_BC)
 calculate constitutive response from materialpoint_F0 to F during timeinc More...
 
pure real(preal) function, dimension(3, 3, grid(1), grid(2), grid3), public utilities_calculaterate (heterogeneous, field0, field, dt, avRate)
 calculates forward rate, either guessing or just add delta/timeinc More...
 
real(preal) function, dimension(3, 3, grid(1), grid(2), grid3), public utilities_forwardfield (timeinc, field_lastInc, rate, aim)
 forwards a field with a pointwise given rate, if aim is given, ensures that the average matches the aim More...
 
pure complex(preal) function, dimension(3) utilities_getfreqderivative (k_s)
 calculates filter for fourier convolution depending on type given in numerics.config More...
 
subroutine, public utilities_updatecoords (F)
 calculate coordinates in current configuration for given defgrad field More...
 
subroutine, public utilities_savereferencestiffness
 Write out the current reference stiffness for restart. More...
 

Variables

@, public field_undefined_id
 
@, public field_mech_id
 
@, public field_thermal_id
 
@, public field_damage_id
 
real(preal), public, protected wgt
 weighting factor 1/Nelems More...
 
integer, public, protected grid1red
 grid(1)/2 More...
 
real(preal), dimension(3), public, protected scaledgeomsize
 scaled geometry size for calculation of divergence More...
 
real(c_double), dimension(:,:,:,:,:), pointer, public tensorfield_real
 real representation (some stress or deformation) of field_fourier More...
 
complex(c_double_complex), dimension(:,:,:,:,:), pointer, public tensorfield_fourier
 field on which the Fourier transform operates More...
 
real(c_double), dimension(:,:,:,:), pointer, public vectorfield_real
 vector field real representation for fftw More...
 
complex(c_double_complex), dimension(:,:,:,:), pointer, public vectorfield_fourier
 vector field fourier representation for fftw More...
 
real(c_double), dimension(:,:,:), pointer, public scalarfield_real
 scalar field real representation for fftw More...
 
complex(c_double_complex), dimension(:,:,:), pointer, public scalarfield_fourier
 scalar field fourier representation for fftw More...
 
complex(preal), dimension(:,:,:,:,:,:,:), allocatable, private gamma_hat
 gamma operator (field) for spectral method More...
 
complex(preal), dimension(:,:,:,:), allocatable, private xi1st
 wave vector field for first derivatives More...
 
complex(preal), dimension(:,:,:,:), allocatable, private xi2nd
 wave vector field for second derivatives More...
 
real(preal), dimension(3, 3, 3, 3), private c_ref
 mechanic reference stiffness More...
 
type(c_ptr), private plantensorforth
 FFTW MPI plan P(x) to P(k) More...
 
type(c_ptr), private plantensorback
 FFTW MPI plan F(k) to F(x) More...
 
type(c_ptr), private planvectorforth
 FFTW MPI plan v(x) to v(k) More...
 
type(c_ptr), private planvectorback
 FFTW MPI plan v(k) to v(x) More...
 
type(c_ptr), private planscalarforth
 FFTW MPI plan s(x) to s(k) More...
 
type(c_ptr), private planscalarback
 FFTW MPI plan s(k) to s(x) More...
 
logical, private debuggeneral
 general debugging of spectral solver More...
 
logical, private debugrotation
 also printing out results in lab frame More...
 
logical, private debugpetsc
 use some in debug defined options for more verbose 1 solution More...
 
type(tnumericsnum
 
integer(kind(derivative_continuous_id)) spectral_derivative_id
 

Detailed Description

Utilities used by the different spectral solver variants.

Author
Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
private

Definition at line 1481 of file spectral_utilities.f90.

◆ anonymous enum

anonymous enum
private
Enumerator
derivative_continuous_id 
derivative_central_diff_id 
derivative_fwbw_diff_id 

Definition at line 1579 of file spectral_utilities.f90.

Function/Subroutine Documentation

◆ utilities_calculaterate()

pure real(preal) function, dimension(3,3,grid(1),grid(2),grid3), public spectral_utilities::utilities_calculaterate ( logical, intent(in)  heterogeneous,
real(preal), dimension(3,3,grid(1),grid(2),grid3), intent(in)  field0,
real(preal), dimension(3,3,grid(1),grid(2),grid3), intent(in)  field,
real(preal), intent(in)  dt,
real(preal), dimension(3,3), intent(in)  avRate 
)

calculates forward rate, either guessing or just add delta/timeinc

Parameters
[in]avratehomogeneous addon
[in]dttimeinc between field0 and field
[in]heterogeneouscalculate field of rates
[in]fielddata of current step
Parameters
field0data of previous step

Definition at line 2341 of file spectral_utilities.f90.

References discretization_grid::grid, and discretization_grid::grid3.

Referenced by grid_mech_spectral_basic::grid_mech_spectral_basic_forward(), and grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_forward().

+ Here is the caller graph for this function:

◆ utilities_constitutiveresponse()

subroutine, public spectral_utilities::utilities_constitutiveresponse ( real(preal), dimension(3,3,grid(1),grid(2),grid3), intent(out)  P,
real(preal), dimension(3,3), intent(out)  P_av,
real(preal), dimension(3,3,3,3), intent(out)  C_volAvg,
real(preal), dimension(3,3,3,3), intent(out)  C_minmaxAvg,
real(preal), dimension(3,3,grid(1),grid(2),grid3), intent(in)  F,
real(preal), intent(in)  timeinc,
type(rotation), intent(in), optional  rotation_BC 
)

calculate constitutive response from materialpoint_F0 to F during timeinc

Parameters
[out]c_minmaxavgaverage stiffness
[out]p_avaverage PK stress
[out]pPK stress
[in]fdeformation gradient target
[in]timeincloading time
[in]rotation_bcrotation of load frame

Definition at line 2266 of file spectral_utilities.f90.

References debugrotation, discretization_grid::grid, discretization_grid::grid3, io::io_error(), homogenization::materialpoint_dpdf, homogenization::materialpoint_f, homogenization::materialpoint_p, homogenization::materialpoint_stressanditstangent(), prec::preal, wgt, and numerics::worldrank.

Referenced by grid_mech_spectral_basic::formresidual(), grid_mech_fem::formresidual(), grid_mech_spectral_polarisation::formresidual(), grid_mech_fem::grid_mech_fem_init(), grid_mech_spectral_basic::grid_mech_spectral_basic_init(), and grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_init().

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

◆ utilities_curlrms()

real(preal) function, public spectral_utilities::utilities_curlrms

calculate max of curl of field_fourier

Definition at line 2074 of file spectral_utilities.f90.

References discretization_grid::geomsize, discretization_grid::grid, grid1red, discretization_grid::grid3, io::io_error(), scaledgeomsize, tensorfield_fourier, wgt, and xi1st.

Referenced by grid_mech_spectral_polarisation::formresidual().

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

◆ utilities_divergencerms()

real(preal) function, public spectral_utilities::utilities_divergencerms

calculate root mean square of divergence of field_fourier

Definition at line 2031 of file spectral_utilities.f90.

References discretization_grid::geomsize, discretization_grid::grid, grid1red, discretization_grid::grid3, io::io_error(), scaledgeomsize, tensorfield_fourier, wgt, and xi1st.

Referenced by grid_mech_spectral_basic::formresidual(), and grid_mech_spectral_polarisation::formresidual().

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

◆ utilities_fftscalarbackward()

subroutine, public spectral_utilities::utilities_fftscalarbackward

backward FFT of data in scalarField_fourier to scalarField_real

Does an weighted inverse FFT transform from complex to real

Definition at line 1918 of file spectral_utilities.f90.

References planscalarback, scalarfield_fourier, scalarfield_real, and wgt.

Referenced by grid_damage_spectral::formresidual(), and grid_thermal_spectral::formresidual().

+ Here is the caller graph for this function:

◆ utilities_fftscalarforward()

subroutine, public spectral_utilities::utilities_fftscalarforward

forward FFT of data in scalarField_real to scalarField_fourier

Does an unweighted FFT transform from real to complex. Extra padding entries are set

Definition at line 1906 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, planscalarforth, scalarfield_fourier, and scalarfield_real.

Referenced by grid_damage_spectral::formresidual(), and grid_thermal_spectral::formresidual().

+ Here is the caller graph for this function:

◆ utilities_ffttensorbackward()

subroutine, public spectral_utilities::utilities_ffttensorbackward

backward FFT of data in field_fourier to field_real

Does an weighted inverse FFT transform from complex to real

Definition at line 1894 of file spectral_utilities.f90.

References plantensorback, tensorfield_fourier, tensorfield_real, and wgt.

Referenced by grid_mech_spectral_basic::formresidual(), and grid_mech_spectral_polarisation::formresidual().

+ Here is the caller graph for this function:

◆ utilities_ffttensorforward()

subroutine, public spectral_utilities::utilities_ffttensorforward

forward FFT of data in field_real to field_fourier

Does an unweighted FFT transform from real to complex. Extra padding entries are set

Definition at line 1882 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, plantensorforth, tensorfield_fourier, and tensorfield_real.

Referenced by grid_mech_spectral_basic::formresidual(), grid_mech_spectral_polarisation::formresidual(), and utilities_updatecoords().

+ Here is the caller graph for this function:

◆ utilities_fftvectorbackward()

subroutine, public spectral_utilities::utilities_fftvectorbackward

backward FFT of data in field_fourier to field_real

Does an weighted inverse FFT transform from complex to real

Definition at line 1943 of file spectral_utilities.f90.

References planvectorback, vectorfield_fourier, vectorfield_real, and wgt.

Referenced by grid_damage_spectral::formresidual(), and grid_thermal_spectral::formresidual().

+ Here is the caller graph for this function:

◆ utilities_fftvectorforward()

subroutine, public spectral_utilities::utilities_fftvectorforward

forward FFT of data in field_real to field_fourier with highest freqs. removed

Does an unweighted FFT transform from real to complex. Extra padding entries are set

Definition at line 1931 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, planvectorforth, vectorfield_fourier, and vectorfield_real.

Referenced by grid_damage_spectral::formresidual(), and grid_thermal_spectral::formresidual().

+ Here is the caller graph for this function:

◆ utilities_forwardfield()

real(preal) function, dimension(3,3,grid(1),grid(2),grid3), public spectral_utilities::utilities_forwardfield ( real(preal), intent(in)  timeinc,
real(preal), dimension(3,3,grid(1),grid(2),grid3), intent(in)  field_lastInc,
real(preal), dimension(3,3,grid(1),grid(2),grid3), intent(in)  rate,
real(preal), dimension(3,3), intent(in), optional  aim 
)

forwards a field with a pointwise given rate, if aim is given, ensures that the average matches the aim

Parameters
[in]timeinctimeinc of current step
[in]raterate by which to forward
[in]aimaverage field value aim
Parameters
field_lastIncinitial field

Definition at line 2368 of file spectral_utilities.f90.

References discretization_grid::grid, discretization_grid::grid3, and wgt.

Referenced by grid_mech_spectral_basic::grid_mech_spectral_basic_forward(), and grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_forward().

+ Here is the caller graph for this function:

◆ utilities_fouriergammaconvolution()

subroutine, public spectral_utilities::utilities_fouriergammaconvolution ( real(preal), dimension(3,3), intent(in)  fieldAim)

doing convolution gamma_hat * field_real, ensuring that average value = fieldAim

Parameters
[in]fieldaimdesired average value of the field after convolution

Definition at line 1954 of file spectral_utilities.f90.

References c_ref, gamma_hat, discretization_grid::grid, grid1red, discretization_grid::grid3, discretization_grid::grid3offset, math::math_det33(), math::math_invert(), num, prec::preal, tensorfield_fourier, wgt, and xi1st.

Referenced by grid_mech_spectral_basic::formresidual(), and grid_mech_spectral_polarisation::formresidual().

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

◆ utilities_fouriergreenconvolution()

subroutine, public spectral_utilities::utilities_fouriergreenconvolution ( real(preal), dimension(3,3), intent(in)  D_ref,
real(preal), intent(in)  mobility_ref,
real(preal), intent(in)  deltaT 
)

doing convolution DamageGreenOp_hat * field_real

Definition at line 2009 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, discretization_grid::grid3, prec::preal, scalarfield_fourier, and xi1st.

Referenced by grid_damage_spectral::formresidual(), and grid_thermal_spectral::formresidual().

+ Here is the caller graph for this function:

◆ utilities_fourierscalargradient()

subroutine, public spectral_utilities::utilities_fourierscalargradient

calculate scalar gradient in fourier field

Definition at line 2207 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, discretization_grid::grid3, scalarfield_fourier, vectorfield_fourier, and xi1st.

Referenced by grid_damage_spectral::formresidual(), and grid_thermal_spectral::formresidual().

+ Here is the caller graph for this function:

◆ utilities_fouriertensordivergence()

subroutine, public spectral_utilities::utilities_fouriertensordivergence

calculate tensor divergence in fourier field

Definition at line 2251 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, discretization_grid::grid3, tensorfield_fourier, vectorfield_fourier, and xi1st.

◆ utilities_fouriervectordivergence()

subroutine, public spectral_utilities::utilities_fouriervectordivergence

calculate vector divergence in fourier field

Definition at line 2221 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, discretization_grid::grid3, scalarfield_fourier, vectorfield_fourier, and xi1st.

Referenced by grid_damage_spectral::formresidual(), and grid_thermal_spectral::formresidual().

+ Here is the caller graph for this function:

◆ utilities_fouriervectorgradient()

subroutine, public spectral_utilities::utilities_fouriervectorgradient

calculate vector gradient in fourier field

Definition at line 2235 of file spectral_utilities.f90.

References discretization_grid::grid, grid1red, discretization_grid::grid3, tensorfield_fourier, vectorfield_fourier, and xi1st.

◆ utilities_getfreqderivative()

pure complex(preal) function, dimension(3) spectral_utilities::utilities_getfreqderivative ( integer, dimension(3), intent(in)  k_s)
private

calculates filter for fourier convolution depending on type given in numerics.config

this is the full operator to calculate derivatives, i.e. 2 \pi i k for the

Parameters
[in]k_sindices of frequency

Definition at line 2399 of file spectral_utilities.f90.

References derivative_central_diff_id, derivative_continuous_id, derivative_fwbw_diff_id, discretization_grid::geomsize, discretization_grid::grid, math::pi, prec::preal, and spectral_derivative_id.

Referenced by utilities_init().

+ Here is the caller graph for this function:

◆ utilities_init()

subroutine, public spectral_utilities::utilities_init

allocates all neccessary fields, sets debug flags, create plans for FFTW

Sets the debug levels for general, divergence, restart, and FFTW from the bitwise coding provided by the debug module to logicals. Allocate all fields used by FFTW and create the corresponding plans depending on the debug level chosen. Initializes FFTW.

Definition at line 1627 of file spectral_utilities.f90.

References config::config_numerics, debug::debug_level, debug::debug_levelbasic, debug::debug_spectral, debug::debug_spectralpetsc, debug::debug_spectralrotation, debuggeneral, debugpetsc, debugrotation, derivative_central_diff_id, derivative_continuous_id, derivative_fwbw_diff_id, gamma_hat, discretization_grid::geomsize, discretization_grid::grid, grid1red, discretization_grid::grid3, discretization_grid::grid3offset, io::io_error(), io::io_lc(), io::io_warning(), num, debug::petscdebug, planscalarback, planscalarforth, plantensorback, plantensorforth, planvectorback, planvectorforth, prec::preal, scalarfield_fourier, scalarfield_real, scaledgeomsize, spectral_derivative_id, tensorfield_fourier, tensorfield_real, utilities_getfreqderivative(), vectorfield_fourier, vectorfield_real, wgt, xi1st, and xi2nd.

Referenced by damask_spectral().

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

◆ utilities_maskedcompliance()

real(preal) function, dimension(3,3,3,3), public spectral_utilities::utilities_maskedcompliance ( type(rotation), intent(in)  rot_BC,
logical, dimension(3,3), intent(in)  mask_stress,
real(preal), dimension(3,3,3,3), intent(in)  C 
)

calculates mask compliance tensor used to adjust F to fullfill stress BC

Returns
masked compliance
Parameters
[in]ccurrent average stiffness
[in]rot_bcrotation of load frame
[in]mask_stressmask of stress BC

Definition at line 2135 of file spectral_utilities.f90.

References debuggeneral, prec::dneq(), io::io_error(), math::math_3333to99(), math::math_99to3333(), math::math_identity2nd(), and math::math_invert().

Referenced by grid_mech_fem::grid_mech_fem_solution(), grid_mech_spectral_basic::grid_mech_spectral_basic_solution(), and grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_solution().

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

◆ utilities_savereferencestiffness()

subroutine, public spectral_utilities::utilities_savereferencestiffness

Write out the current reference stiffness for restart.

Definition at line 2548 of file spectral_utilities.f90.

References c_ref, damask_interface::getsolverjobname(), io::io_open_binary(), and numerics::worldrank.

Referenced by grid_mech_spectral_basic::grid_mech_spectral_basic_init(), grid_mech_spectral_basic::grid_mech_spectral_basic_restartwrite(), grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_init(), and grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_restartwrite().

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

◆ utilities_updatecoords()

subroutine, public spectral_utilities::utilities_updatecoords ( real(preal), dimension(3,3,grid(1),grid(2),grid3), intent(in)  F)

◆ utilities_updategamma()

subroutine, public spectral_utilities::utilities_updategamma ( real(preal), dimension(3,3,3,3), intent(in)  C)

updates reference stiffness and potentially precalculated gamma operator

Sets the current reference stiffness to the stiffness given as an argument. If the gamma operator is precalculated, it is calculated with this stiffness. In case of an on-the-fly calculation, only the reference stiffness is updated.

Parameters
[in]cinput stiffness to store as reference stiffness

Definition at line 1841 of file spectral_utilities.f90.

References c_ref, gamma_hat, discretization_grid::grid, grid1red, discretization_grid::grid3, discretization_grid::grid3offset, math::math_det33(), math::math_invert(), num, prec::preal, and xi1st.

Referenced by grid_mech_spectral_basic::grid_mech_spectral_basic_init(), grid_mech_spectral_basic::grid_mech_spectral_basic_solution(), grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_init(), and grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_solution().

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

Variable Documentation

◆ c_ref

real(preal), dimension(3,3,3,3), private spectral_utilities::c_ref
private

mechanic reference stiffness

Definition at line 1506 of file spectral_utilities.f90.

Referenced by utilities_fouriergammaconvolution(), utilities_savereferencestiffness(), and utilities_updategamma().

◆ debuggeneral

logical, private spectral_utilities::debuggeneral
private

general debugging of spectral solver

Definition at line 1521 of file spectral_utilities.f90.

Referenced by utilities_init(), and utilities_maskedcompliance().

◆ debugpetsc

logical, private spectral_utilities::debugpetsc
private

use some in debug defined options for more verbose 1 solution

Definition at line 1521 of file spectral_utilities.f90.

Referenced by utilities_init().

◆ debugrotation

logical, private spectral_utilities::debugrotation
private

also printing out results in lab frame

Definition at line 1521 of file spectral_utilities.f90.

Referenced by utilities_constitutiveresponse(), and utilities_init().

◆ field_damage_id

@, public spectral_utilities::field_damage_id

Definition at line 1485 of file spectral_utilities.f90.

Referenced by damask_spectral().

◆ field_mech_id

@, public spectral_utilities::field_mech_id

Definition at line 1485 of file spectral_utilities.f90.

Referenced by damask_spectral().

◆ field_thermal_id

@, public spectral_utilities::field_thermal_id

Definition at line 1485 of file spectral_utilities.f90.

Referenced by damask_spectral().

◆ field_undefined_id

@, public spectral_utilities::field_undefined_id

Definition at line 1485 of file spectral_utilities.f90.

◆ gamma_hat

complex(preal), dimension(:,:,:,:,:,:,:), allocatable, private spectral_utilities::gamma_hat
private

gamma operator (field) for spectral method

Definition at line 1503 of file spectral_utilities.f90.

Referenced by utilities_fouriergammaconvolution(), utilities_init(), and utilities_updategamma().

◆ grid1red

◆ num

type(tnumerics) spectral_utilities::num
private

◆ planscalarback

type(c_ptr), private spectral_utilities::planscalarback
private

FFTW MPI plan s(k) to s(x)

Definition at line 1511 of file spectral_utilities.f90.

Referenced by utilities_fftscalarbackward(), and utilities_init().

◆ planscalarforth

type(c_ptr), private spectral_utilities::planscalarforth
private

FFTW MPI plan s(x) to s(k)

Definition at line 1511 of file spectral_utilities.f90.

Referenced by utilities_fftscalarforward(), and utilities_init().

◆ plantensorback

type(c_ptr), private spectral_utilities::plantensorback
private

FFTW MPI plan F(k) to F(x)

Definition at line 1511 of file spectral_utilities.f90.

Referenced by utilities_ffttensorbackward(), and utilities_init().

◆ plantensorforth

type(c_ptr), private spectral_utilities::plantensorforth
private

FFTW MPI plan P(x) to P(k)

Definition at line 1511 of file spectral_utilities.f90.

Referenced by utilities_ffttensorforward(), and utilities_init().

◆ planvectorback

type(c_ptr), private spectral_utilities::planvectorback
private

FFTW MPI plan v(k) to v(x)

Definition at line 1511 of file spectral_utilities.f90.

Referenced by utilities_fftvectorbackward(), utilities_init(), and utilities_updatecoords().

◆ planvectorforth

type(c_ptr), private spectral_utilities::planvectorforth
private

FFTW MPI plan v(x) to v(k)

Definition at line 1511 of file spectral_utilities.f90.

Referenced by utilities_fftvectorforward(), and utilities_init().

◆ scalarfield_fourier

complex(c_double_complex), dimension(:,:,:), pointer, public spectral_utilities::scalarfield_fourier

◆ scalarfield_real

real(c_double), dimension(:,:,:), pointer, public spectral_utilities::scalarfield_real

◆ scaledgeomsize

real(preal), dimension(3), public, protected spectral_utilities::scaledgeomsize

scaled geometry size for calculation of divergence

Definition at line 1492 of file spectral_utilities.f90.

Referenced by grid_mech_fem::converged(), utilities_curlrms(), utilities_divergencerms(), and utilities_init().

◆ spectral_derivative_id

integer(kind(derivative_continuous_id)) spectral_utilities::spectral_derivative_id
private

Definition at line 1585 of file spectral_utilities.f90.

Referenced by utilities_getfreqderivative(), and utilities_init().

◆ tensorfield_fourier

complex(c_double_complex), dimension(:,:,:,:,:), pointer, public spectral_utilities::tensorfield_fourier

◆ tensorfield_real

real (c_double), dimension(:,:,:,:,:), pointer, public spectral_utilities::tensorfield_real

◆ vectorfield_fourier

complex(c_double_complex), dimension(:,:,:,:), pointer, public spectral_utilities::vectorfield_fourier

◆ vectorfield_real

real(c_double), dimension(:,:,:,:), pointer, public spectral_utilities::vectorfield_real

◆ wgt

◆ xi1st

◆ xi2nd

complex(preal), dimension(:,:,:,:), allocatable, private spectral_utilities::xi2nd
private

wave vector field for second derivatives

Definition at line 1505 of file spectral_utilities.f90.

Referenced by utilities_init(), and utilities_updatecoords().