# fix saed/vtk command ## Syntax fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ... - ID, group-ID are documented in [fix](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 ## Examples ``` LAMMPS 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 ``` ## Description Time average computed intensities from [compute saed](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](compute_saed) values, e.g. ``` LAMMPS 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](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 This fix is part of the DIFFRACTION package. It is only enabled if LAMMPS was built with that package. See the [Build package](Build_package) page for more info. No information about this fix is written to [binary restart files](restart). None of the [fix_modify](fix_modify) options are relevant to this fix. No parameter of this fix can be used with the *start/stop* keywords of the [run](run) command. This fix is not invoked during [energy minimization](minimize). ## Restrictions The attributes for fix_saed_vtk must match the values assigned in the associated [compute_saed](compute_saed) command. ## Related commands [compute_saed](compute_saed) ## Default The option defaults are ave = one, start = 0, no file output. ------------------------------------------------------------------------ ::: {#Coleman} **(Coleman)** Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013). :::