Skip to contents

Function to create a data frame with complete set of Miller indices, up to a given resolution (in angstroms).

Usage

generate_miller(uc, SG, reso)

Arguments

uc

An object of class "unit_cell".

SG

A character string or a number indicating the extended Hermann-Mauguin symbol for the space group.

reso

A real number. The highest data resolution, in angstroms.

Value

hkl A data frame with columns H, K, L corresponding to the three Miller indices, and a columns S corresponding to their inverse resolutions (in angstroms).

Details

Miller indices are named H, K, L in the data frame. Only values of (H,K,L) corresponding to a resolution d(h,k,l) >= reso (in angstroms), are included. The full list does not include systematic absences corresponding to the specific symmetry of the crystal.

Examples

# C 2 monoclinic space group
SG <- "C 1 2 1"

# Create an arbitrary cell compatible with C 2
uc <- unit_cell(10,15,10,90,110,90)

# Generate Miller indices to 5 angstroms resolution
reso <- 5
hkl <- generate_miller(uc,SG,reso)

# Display first 10 indices
hkl[1:10,]
#>     H  K  L         S
#> 1   0 -2 -1 0.1705946
#> 2  -1 -1 -1 0.1866561
#> 3   1 -1 -1 0.1390948
#> 4   0  0 -1 0.1064178
#> 5  -1  1 -1 0.1866561
#> 6   1  1 -1 0.1390948
#> 7   0  2 -1 0.1705946
#> 8   0 -2  0 0.1333333
#> 9  -1 -1  0 0.1255754
#> 10  1 -1  0 0.1255754