repulsion.m
Generates REPULSION grids on a unit hypersphere. Strangely enough, for all the apparent simplicity of the generation procedure, these are probably the best grids for most practical solid state magnetic resonance purposes. A large number of pre-computed grids is stored in kernel/grids. See the paper by Bak and Nielsen (http://dx.doi.org/10.1006/jmre.1996.1087) to get further information on the algorithm involved.
Syntax
[alphas,betas,gammas,weights]=repulsion(npoints,ndims,niter)
Parameters
npoints - number of points in the resulting spherical grid
ndims - hypersphere dimension: 2 returns a single-angle
(beta) grid, 3 returns a two-angle grid (alpha,
beta), 4 returns a three-angle (alpha,beta,gam-
ma) spherical grid
niter - number of repulsion interations (simple clipped
gradient descent at the moment)
Outputs
alphas - alpha Euler angles of the grid, in radians,
zeros for single-angle grids
betas - beta Euler angles of the grid, in radians
gammas - gamma Euler angles of the grid, in radians,
zeros for two-angle grids
weights - point weights of the grid
Examples
See kernel/grids directory for a long list of one-, two- and three angle REPULSION grids.
Notes
Uniform weights are assigned at the moment, use shrewd.m function to generate optimal weights.
See also
shrewd.m, arclength.m, gaussleg.m, get_hull.m, grid_fibon.m, grid_igloo.m, grid_kron.m, grid_plot.m, grid_polar.m, grid_test.m, grid_trian.m, one_vcell_solidangle.m, sphtarea.m, sphtrsubd.m, vcell_solidangle.m, voitlander.m, voronoisphere.m, zfs_sampling.m, Kernel_utilities, Appendix I: powder grids
Version 2.6, authors: Ilya Kuprov, Frederic Mentink-Vigier