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

Go to the source code of this file.

Data Types

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

Modules

module  spectral_utilities
 Utilities used by the different spectral solver variants.
 

Enumerations

enum  
 
enum  { spectral_utilities::derivative_continuous_id, spectral_utilities::derivative_central_diff_id, spectral_utilities::derivative_fwbw_diff_id }
 

Functions/Subroutines

subroutine, public spectral_utilities::utilities_init
 allocates all neccessary fields, sets debug flags, create plans for FFTW More...
 
subroutine, public spectral_utilities::utilities_updategamma (C)
 updates reference stiffness and potentially precalculated gamma operator More...
 
subroutine, public spectral_utilities::utilities_ffttensorforward
 forward FFT of data in field_real to field_fourier More...
 
subroutine, public spectral_utilities::utilities_ffttensorbackward
 backward FFT of data in field_fourier to field_real More...
 
subroutine, public spectral_utilities::utilities_fftscalarforward
 forward FFT of data in scalarField_real to scalarField_fourier More...
 
subroutine, public spectral_utilities::utilities_fftscalarbackward
 backward FFT of data in scalarField_fourier to scalarField_real More...
 
subroutine, public spectral_utilities::utilities_fftvectorforward
 forward FFT of data in field_real to field_fourier with highest freqs. removed More...
 
subroutine, public spectral_utilities::utilities_fftvectorbackward
 backward FFT of data in field_fourier to field_real More...
 
subroutine, public spectral_utilities::utilities_fouriergammaconvolution (fieldAim)
 doing convolution gamma_hat * field_real, ensuring that average value = fieldAim More...
 
subroutine, public spectral_utilities::utilities_fouriergreenconvolution (D_ref, mobility_ref, deltaT)
 doing convolution DamageGreenOp_hat * field_real More...
 
real(preal) function, public spectral_utilities::utilities_divergencerms ()
 calculate root mean square of divergence of field_fourier More...
 
real(preal) function, public spectral_utilities::utilities_curlrms ()
 calculate max of curl of field_fourier More...
 
real(preal) function, dimension(3, 3, 3, 3), public spectral_utilities::utilities_maskedcompliance (rot_BC, mask_stress, C)
 calculates mask compliance tensor used to adjust F to fullfill stress BC More...
 
subroutine, public spectral_utilities::utilities_fourierscalargradient ()
 calculate scalar gradient in fourier field More...
 
subroutine, public spectral_utilities::utilities_fouriervectordivergence ()
 calculate vector divergence in fourier field More...
 
subroutine, public spectral_utilities::utilities_fouriervectorgradient ()
 calculate vector gradient in fourier field More...
 
subroutine, public spectral_utilities::utilities_fouriertensordivergence ()
 calculate tensor divergence in fourier field More...
 
subroutine, public spectral_utilities::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 spectral_utilities::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 spectral_utilities::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) spectral_utilities::utilities_getfreqderivative (k_s)
 calculates filter for fourier convolution depending on type given in numerics.config More...
 
subroutine, public spectral_utilities::utilities_updatecoords (F)
 calculate coordinates in current configuration for given defgrad field More...
 
subroutine, public spectral_utilities::utilities_savereferencestiffness
 Write out the current reference stiffness for restart. More...
 

Variables

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