Description Usage Arguments Value Examples

View source: R/reciprocal_space.R

Given a density as vector calculated in N grid points, the unit cell size and an array of Miller indices hidx, this function calculates amplitudes and phases of the structure factors corresponding to this density, via inverse Fourier transform.

1 | ```
invfousynth(a, rho, hidx)
``` |

`a` |
A real number. The unit cell side length. |

`rho` |
A vector of N real numbers representing the 1D density at each of the regular N grid point. |

`hidx` |
A vector of integer numbers. The set of 1D Miller indices corresponding to the set of structure factors F, to be calculated. |

A vector of N real numbers representing the calculated 1D density at each one of the regular N grid points.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ```
# First create the crystal structure (in P1)
a <- 10
SG <- "P1"
x0 <- c(1,4,6.5)
Z <- c(8,26,6)
B <- c(18,20,17)
occ <- c(1,1,1)
sdata <- standardise_sdata(a,SG,x0,Z,B,occ)
# 10 Miller indices plus DC component
hidx <- 0:10
# Compute structure factors
ftmp1 <- strufac(hidx,sdata)
# Number of grid points
N <- 1000
# Density
rtmp <- fousynth(a,ftmp1$Fmod,ftmp1$Fpha,hidx,N)
# Using inverse Fourier to obtain structure factors
ftmp2 <- invfousynth(a,rtmp$rr,hidx)
# Comparison
print(abs(ftmp1$Fmod-ftmp2$Fmod))
print(abs(ftmp1$Fpha-ftmp2$Fpha))
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.