Action: FOURIER_TRANSFORM

Module fourier
Description Usage
Compute the Discrete Fourier Transform (DFT) by means of FFTW of data stored on a 2D grid. used in 0 tutorialsused in 1 eggs
output value type
the fourier transform of the input grid grid

Output components

This action can calculate the values in the following table when the associated keyword is included in the input for the action. These values can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the value required from the list below.

Name Type Keyword Description
real grid FT_TYPE the real part of the function
imag grid FT_TYPE the imaginary part of the function

Input

The arguments that serve as the input for this action are specified using one or more of the keywords in the following table.

Keyword Type Description
ARG grid the label of the grid that you want to fourer transform

Further details and examples

Compute the Discrete Fourier Transform (DFT) by means of FFTW of data stored on a 2D grid.

This action takes a function on a two-dimensional grid as input and computes a fourier transform upon the input function using FFTW. Currently, this actions performs a complex fourier transition even if the input data is real. The functionality here was developed and used in the paper cited below. The following input was used in that paper:

Click on the labels of the actions for more information on what each action computes
tested on2.11
UNITSThis command sets the internal units for the code. More details NATURAL use natural units

# These two commands calculate one symmetry function for each atom. These # symmetry functions tell us whether the environment around each atom resembles # the environment in the solid or the environment in the liquid. fcc: FCCUBICMeasure how similar the environment around atoms is to that found in a FCC structure. This action is a shortcut and it has hidden defaults. More details SPECIESthe list of atoms for which the symmetry function is being calculated and the atoms that can be in the environments=1-20736 SWITCHthe switching function that it used in the construction of the contact matrix. Options for this keyword are explained in the documentation for LESS_THAN.={CUBIC D_0=1.2 D_MAX=1.5} ALPHA The alpha parameter of the angular function that is used for FCCUBIC=27 smapfcc: MORE_THANUse a switching function to determine how many of the input variables are more than a certain cutoff. More details ARGthe values input to this function=fcc SWITCHThis keyword is used if you want to employ an alternative to the continuous swiching function defined above={SMAP R_0=0.5 A=8 B=8} smapfcc_grp: GROUPDefine a group of atoms so that a particular list of atoms can be referenced with a single label in definitions of CVs or virtual atoms. More details ATOMSthe numerical indexes for the set of atoms in the group=1-20736 # This calculates the position of the center of the solid region of the simulation box. What we are computing here a weighted average position # the weights are the order parameters computed using the two commands above. center: CENTERCalculate the center for a group of atoms, with arbitrary weights. This action is a shortcut. More details PHASES use trigonometric phases when computing position of center ATOMSthe group of atoms that you are calculating the Gyration Tensor for=fcc WEIGHTSwhat weights should be used when calculating the center=smapfcc # This calculates the phase field that tells us whether the structure in each part of the simulation box is solid-like or liquid like. dens: MULTICOLVARDENSEvaluate the average value of a multicolvar on a grid. This action is a shortcut. More details DATAthe multicolvar which you would like to calculate the density profile for=smapfcc ORIGINwe will use the position of this atom as the origin=center DIRthe direction in which to calculate the density profile=xyz NBINSthe number of bins to use in each direction (alternative to GRID_NBIN)=50,80,80 BANDWIDTHthe bandwidths for kernel density esimtation=1.0,1.0,1.0 GRID_MINthe lower bounds for the grid (default boxlengths)=0.0,auto,auto GRID_MAXthe upper bounds for the grid (default boxlengths)=20.0,auto,auto STRIDE the frequency with which to accumulate the densities=1 CLEAR the frequency with which to clear the density=1 # This finds the instantaneous location of the interface between the solid and liquid phases contour: FIND_CONTOUR_SURFACEFind an isocontour by searching along either the x, y or z direction. This action has hidden defaults. More details ARGthe labels of the grid in which the contour will be found=dens CONTOURthe value we would like to draw the contour at in the space=0.5 SEARCHDIRIn which directions do you wish to search for the contour=dens_dist.x DUMPGRIDOutput the function on the grid to a file with the PLUMED grid format. More details ARGthe label for the grid that you would like to output=contour FILE the file on which to write the grid=contour.dat # This does the fourier transform of the location of the interface. We can extract the interfacial stiffness from the average of this fourier transform ft: FOURIER_TRANSFORMCompute the Discrete Fourier Transform (DFT) by means of FFTW of data stored on a 2D grid. More details ARGthe label of the grid that you want to fourer transform=contour FT_TYPEchoose what kind of data you want as output on the grid=norm FOURIER_PARAMETERS what kind of normalization is applied to the output and if the Fourier transform in FORWARD or BACKWARD=-1,1 DUMPGRIDOutput the function on the grid to a file with the PLUMED grid format. More details ARGthe label for the grid that you would like to output=ft FILE the file on which to write the grid=fourier.dat STRIDE the frequency with which the grid should be output to the file=10

We do not think this action has been used in any other paper. If you are interested in using the functionality here we would recommend you carefully read the documentation for the FFTW library. You may find it necessary to modify the code in this action for your particular purpose.

To what FFTW computes we would recommend reading this page.

Notice that the keyword "FOURIER_PARAMETERS" specifies how the Fourier transform will be normalized. The keyword takes two numerical parameters a and b that are both set equal to one by default. The normalization is then defined as:

1n(1a)/2n1j=0Xje2πbjk1/n

References

More information about how this action can be used is available in the following articles: - E. Baldi, M. Ceriotti, G. A. Tribello, Extracting the interfacial free energy and anisotropy from a smooth fluctuating dividing surface. Journal of Physics: Condensed Matter. 29, 445001 (2017)

Syntax

The following table describes the keywords and options that can be used with this action

Keyword Type Default Description
ARG input none the label of the grid that you want to fourer transform
FOURIER_PARAMETERS compulsory default what kind of normalization is applied to the output and if the Fourier transform in FORWARD or BACKWARD
SERIAL optional false do the calculation in serial
FT_TYPE optional not used choose what kind of data you want as output on the grid