Defines various cluster geometries and exports in a format suitable for TERMS

Helix of particles

Chain of particles

Core-satellite cluster of spheres

cluster_positions(
  N = 5,
  cl_fun = cluster_chain,
  radius = 50,
  label = "Au",
  ...,
  out = "",
  digits = 8
)

cluster_helix(
  N = 5,
  a = 10,
  b = 10,
  c = 50,
  R0 = 100,
  pitch = 200,
  delta = pi/5,
  delta0 = 0,
  hand = 1,
  ...
)

cluster_chain(
  N = 5,
  pitch = 500,
  a = 50,
  b = 30,
  c = b,
  rot = rotation_euler_passive(0, 0, 0)
)

cluster_satellite(N = 30, Rcore = 30, Rsat = 4, gap = 0.1, exclusion = 10, ...)

Arguments

N

number of particles

cl_fun

cluster function

radius

particle radius

label

particle material label

...

extra arguments passed to cl_fun

out

filename

digits

accuracy

a

semi-axis

b

semi-axis

c

semi-axis

R0

helix radius

pitch

chain pitch

delta

helix angle step

delta0

helix start angle

hand

helix handedness

rot

rotation matrix applied to each particle

Rcore

core radius

Rsat

satellite radius

gap

gap distance

exclusion

minimum exclusion distance for hc positions

Value

returns scatterers positions and sizes for an input file

Functions

  • cluster_positions(): write cluster positions to input file

  • cluster_helix(): helical cluster

  • cluster_chain(): linear chain cluster

  • cluster_satellite(): core-satellite cluster

Examples

cluster_positions()
#> Au -1000 0 0 50
#> Au -500 0 0 50
#> Au 0 0 0 50
#> Au 500 0 0 50
#> Au 1000 0 0 50
cluster_helix()
#> $positions
#>   [,1]      [,2]     [,3]      [,4]      [,5]
#> x  100  80.90170 30.90170 -30.90170 -80.90170
#> y    0  58.77853 95.10565  95.10565  58.77853
#> z  -40 -20.00000  0.00000  20.00000  40.00000
#> 
#> $sizes
#>      [,1] [,2] [,3] [,4] [,5]
#> [1,]   10   10   10   10   10
#> [2,]   10   10   10   10   10
#> [3,]   50   50   50   50   50
#> 
#> $angles
#>           [,1]     [,2]     [,3]      [,4]      [,5]
#> phi   1.570796 2.199115 2.827433 -2.827433 -2.199115
#> theta 1.262627 1.262627 1.262627  1.262627  1.262627
#> psi   0.000000 0.000000 0.000000  0.000000  0.000000
#> 
#> $R0
#> [1] 100
#> 
#> attr(,"class")
#> [1] "cluster"
cluster_chain()
#> $positions
#>       [,1] [,2] [,3] [,4] [,5]
#> [1,] -1000 -500    0  500 1000
#> [2,]     0    0    0    0    0
#> [3,]     0    0    0    0    0
#> 
#> $sizes
#>   [,1] [,2] [,3] [,4] [,5]
#> a   50   50   50   50   50
#> b   30   30   30   30   30
#> c   30   30   30   30   30
#> 
#> $angles
#>       [,1] [,2] [,3] [,4] [,5]
#> phi      0    0    0    0    0
#> theta    0    0    0    0    0
#> gamma    0    0    0    0    0
#> 
#> attr(,"class")
#> [1] "cluster"
cluster_satellite()
#> $positions
#>         [,1]       [,2]      [,3]      [,4]       [,5]      [,6]        [,7]
#> x   8.476599  -8.235287  -2.89900  17.09593 -24.297840  18.22398  -0.5805691
#> y   2.091872 -12.373922  18.62522 -13.67718  -1.627288  19.08614 -28.0905986
#> z -32.963333 -30.690000 -28.41667 -26.14333 -23.870000 -21.59667 -19.3233333
#>        [,8]       [,9]     [,10]      [,11]      [,12]      [,13]    [,14]
#> x -19.49400  30.552344 -25.57048   6.326701  17.215306 -32.282993 30.42701
#> y  22.18313  -3.318795 -18.77837  31.908149 -28.339631   9.397770 15.01263
#> z -17.05000 -14.776667 -12.50333 -10.230000  -7.956667  -5.683333 -3.41000
#>        [,15]      [,16]     [,17]      [,18]     [,19]      [,20]     [,21]
#> x -12.350117 -12.350117  30.42701 -32.282993 17.215306   6.326701 -25.57048
#> y -31.764644  31.764644 -15.01263  -9.397770 28.339631 -31.908149  18.77837
#> z  -1.136667   1.136667   3.41000   5.683333  7.956667  10.230000  12.50333
#>       [,22]     [,23]      [,24]     [,25]      [,26]    [,27]     [,28]
#> x 30.552344 -19.49400 -0.5805691  18.22398 -24.297840 17.09593  -2.89900
#> y  3.318795 -22.18313 28.0905986 -19.08614   1.627288 13.67718 -18.62522
#> z 14.776667  17.05000 19.3233333  21.59667  23.870000 26.14333  28.41667
#>       [,29]     [,30]
#> x -8.235287  8.476599
#> y 12.373922 -2.091872
#> z 30.690000 32.963333
#> 
#> $sizes
#>   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
#> x    4    4    4    4    4    4    4    4    4     4     4     4     4     4
#> y    4    4    4    4    4    4    4    4    4     4     4     4     4     4
#> z    4    4    4    4    4    4    4    4    4     4     4     4     4     4
#>   [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27]
#> x     4     4     4     4     4     4     4     4     4     4     4     4     4
#> y     4     4     4     4     4     4     4     4     4     4     4     4     4
#> z     4     4     4     4     4     4     4     4     4     4     4     4     4
#>   [,28] [,29] [,30]
#> x     4     4     4
#> y     4     4     4
#> z     4     4     4
#> 
#> $angles
#>   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
#> x    0    0    0    0    0    0    0    0    0     0     0     0     0     0
#> y    0    0    0    0    0    0    0    0    0     0     0     0     0     0
#> z    0    0    0    0    0    0    0    0    0     0     0     0     0     0
#>   [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27]
#> x     0     0     0     0     0     0     0     0     0     0     0     0     0
#> y     0     0     0     0     0     0     0     0     0     0     0     0     0
#> z     0     0     0     0     0     0     0     0     0     0     0     0     0
#>   [,28] [,29] [,30]
#> x     0     0     0
#> y     0     0     0
#> z     0     0     0
#> 
#> $R0
#> [1] 30
#> 
#> attr(,"class")
#> [1] "cluster"