fix saed/vtk command¶
fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ...
ID, group-ID are documented in fix command
saed/vtk = style name of this fix command
Nevery = use input values every this many timesteps
Nrepeat = # of times to use input values for calculating averages
Nfreq = calculate averages every this many timesteps
c_ID = saed compute ID
keyword = file or ave or start or file or overwrite:l ave args = one or running or window M one = output a new average value every Nfreq steps running = output cumulative average of all previous Nfreq steps window M = output average of M most recent Nfreq steps start args = Nstart Nstart = start averaging on this timestep file arg = filename filename = name of file to output time averages to
compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo fix 1 all saed/vtk 1 1 1 c_1 file Al2O3_001.saed fix 2 all saed/vtk 1 1 1 c_2 file Ni_000.saed
Time average computed intensities from compute saed and write output to a file in the third generation vtk image data format for visualization directly in parallelized visualization software packages like ParaView and VisIt. Note that if no time averaging is done, this command can be used as a convenient way to simply output diffraction intensities at a single snapshot.
To produce output in the image data vtk format ghost data is added outside the Kmax range assigned in the compute saed. The ghost data is assigned a value of -1 and can be removed setting a minimum isovolume of 0 within the visualization software. SAED images can be created by visualizing a spherical slice of the data that is centered at R_Ewald*[h k l]/norm([h k l]), where R_Ewald=1/lambda.
The group specified within this command is ignored. However, note that specified values may represent calculations performed by saed computes which store their own “group” definitions.
Fix saed/vtk is designed to work only with compute saed values, e.g.
compute 3 top saed 0.0251 Al O fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed
The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps that are a multiple of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every Nevery timesteps. Nfreq must be a multiple of Nevery and Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps contributing to the average value cannot overlap, i.e. Nrepeat*Nevery can not exceed Nfreq.
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc.
The output for fix ave/time/saed is a file written with the third generation vtk image data formatting. The filename assigned by the file keyword is appended with _N.vtk where N is an index (0,1,2…) to account for multiple diffraction intensity outputs.
By default the header contains the following information (with example data):
# vtk DataFile Version 3.0 c_SAED Image data set ASCII DATASET STRUCTURED_POINTS DIMENSIONS 337 219 209 ASPECT_RATIO 0.00507953 0.00785161 0.00821458 ORIGIN -0.853361 -0.855826 -0.854316 POINT_DATA 15424827 SCALARS intensity float LOOKUP_TABLE default ...data
In this example, kspace is sampled across a 337 x 219 x 209 point mesh where the mesh spacing is approximately 0.005, 0.007, and 0.008 inv(length) units in the k1, k2, and k3 directions, respectively. The data is shifted by -0.85, -0.85, -0.85 inv(length) units so that the origin will lie at 0, 0, 0. Here, 15,424,827 kspace points are sampled in total.
Additional optional keywords also affect the operation of this fix.
The ave keyword determines how the values produced every Nfreq steps are averaged with values produced on previous steps that were multiples of Nfreq, before they are accessed by another output command or written to a file.
If the ave setting is one, then the values produced on timesteps that are multiples of Nfreq are independent of each other; they are output as-is without further averaging.
If the ave setting is running, then the values produced on timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding values. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the unfix command, or by re-defining the fix by re-specifying it.
If the ave setting is window, then the values produced on timesteps that are multiples of Nfreq are summed and averaged within a moving “window” of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual values on steps 8000,9000,10000. Outputs on early steps will average over less than M values if they are not available.
The start keyword specifies what timestep averaging will begin on. The default is step 0. Often input values can be 0.0 at time 0, so setting start to a larger value can avoid including a 0.0 in a running or windowed average.
The file keyword allows a filename to be specified. Every Nfreq steps, the vector of saed intensity data is written to a new file using the third generation vtk format. The base of each file is assigned by the file keyword and this string is appended with _N.vtk where N is an index (0,1,2…) to account for situations with multiple diffraction intensity outputs.
Restart, fix_modify, output, run start/stop, minimize info¶
The attributes for fix_saed_vtk must match the values assigned in the associated compute_saed command.
The option defaults are ave = one, start = 0, no file output.
(Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013).