# fix print command ## Syntax fix ID group-ID print N string keyword value ... - ID, group-ID are documented in [fix](fix) command - print = style name of this fix command - N = print every N steps; N can be a variable (see below) - string = text string to print with optional variable names - zero or more keyword/value pairs may be appended - keyword = *file* or *append* or *screen* or *title* *file* value = filename *append* value = filename *screen* value = *yes* or *no* *title* value = string string = text to print as 1st line of output file ## Examples ``` LAMMPS fix extra all print 100 "Coords of marker atom = $x $y $z" fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt ``` ## Description Print a text string every N steps during a simulation run. This can be used for diagnostic purposes or as a debugging tool to monitor some quantity during a run. The text string must be a single argument, so it should be enclosed in single or double quotes if it is more than one word. If it contains variables it must be enclosed in double quotes to ensure they are not evaluated when the input script line is read, but will instead be evaluated each time the string is printed. ::: versionadded 15Jun2023 support for vector style variables ::: See the [variable](variable) command for a description of *equal* and *vector* style variables which are typically the most useful ones to use with the print command. Equal- and vector-style variables can calculate formulas involving mathematical operations, atom properties, group properties, thermodynamic properties, global values calculated by a [compute](compute) or [fix](fix), or references to other [variables](variable). Vector-style variables are printed in a bracketed, comma-separated format, e.g. \[1,2,3,4\] or \[12.5,2,4.6,10.1\]. :::: note ::: title Note ::: As discussed on the [Commands parse](Commands_parse) doc page, the text string can use \"immediate\" variables, specified as \$(formula) with parenthesis, where the numeric formula has the same syntax as equal-style variables described on the [variable](variable) doc page. This is a convenient way to evaluate a formula immediately without using the variable command to define a named variable and then use that variable in the text string. The formula can include a trailing colon and format string which determines the precision with which the numeric value is output. This is also explained on the [Commands parse](Commands_parse) doc page. :::: Instead of a numeric value, N can be specified as an [equal-style variable](variable), which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the **next** timestep at which the string will be written out. On that timestep, the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() and logfreq() and stride() math functions for [equal-style variables](variable), as examples of useful functions to use in this context. For example, the following commands will print output at timesteps 10,20,30,100,200,300,1000,2000,etc: ``` LAMMPS variable s equal logfreq(10,3,10) fix extra all print v_s "Coords of marker atom = $x $y $z" ``` The specified group-ID is ignored by this fix. If the *file* or *append* keyword is used, a filename is specified to which the output generated by this fix will be written. If *file* is used, then the filename is overwritten if it already exists. If *append* is used, then the filename is appended to if it already exists, or created if it does not exist. If the *screen* keyword is used, output by this fix to the screen and logfile can be turned on or off as desired. The *title* keyword allow specification of the string that will be printed as the first line of the output file, assuming the *file* keyword was used. By default, the title line is as follows: # Fix print output for fix ID where ID is replaced with the fix-ID. ## Restart, fix_modify, output, run start/stop, minimize 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 global or per-atom quantities are stored by this fix for access by various [output commands](Howto_output). 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 > none ## Related commands [variable](variable), [print](print) ## Default The option defaults are no file output, screen = yes, and title string as described above.