"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line thermo_style command :h3 [Syntax:] thermo_style style args :pre style = {one} or {multi} or {custom} :ulb,l args = list of arguments for a particular style :l {one} args = none {multi} args = none {custom} args = list of attributes possible attributes = step, elapsed, elaplong, dt, cpu, tpcpu, spcpu, atoms, temp, press, pe, ke, etotal, enthalpy, evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail, vol, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz, xlat, ylat, zlat, pxx, pyy, pzz, pxy, pxz, pyz, fmax, fnorm, cella, cellb, cellc, cellalpha, cellbeta, cellgamma, c_ID, c_ID\[I\], c_ID\[I\]\[J\], f_ID, f_ID\[I\], f_ID\[I\]\[J\], v_name step = timestep elapsed = timesteps since start of this run elaplong = timesteps since start of initial run in a series of runs dt = timestep size cpu = elapsed CPU time in seconds tpcpu = time per CPU second spcpu = timesteps per CPU second atoms = # of atoms temp = temperature press = pressure pe = total potential energy ke = kinetic energy etotal = total energy (pe + ke) enthalpy = enthalpy (etotal + press*vol) evdwl = VanderWaal pairwise energy ecoul = Coulombic pairwise energy epair = pairwise energy (evdwl + ecoul + elong + etail) ebond = bond energy eangle = angle energy edihed = dihedral energy eimp = improper energy emol = molecular energy (ebond + eangle + edihed + eimp) elong = long-range kspace energy etail = VanderWaal energy long-range tail correction vol = volume lx,ly,lz = box lengths in x,y,z xlo,xhi,ylo,yhi,zlo,zhi = box boundaries xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes xlat,ylat,zlat = lattice spacings as calculated by "lattice"_lattice.html command pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor fmax = max component of force on any atom in any dimension fnorm = length of force vector for all atoms cella,cellb,cellc = periodic cell lattice constants a,b,c cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma c_ID = global scalar value calculated by a compute with ID c_ID\[I\] = Ith component of global vector calculated by a compute with ID c_ID\[I\]\[J\] = I,J component of global array calculated by a compute with ID f_ID = global scalar value calculated by a fix with ID f_ID\[I\] = Ith component of global vector calculated by a fix with ID f_ID\[I\]\[J\] = I,J component of global array calculated by a fix with ID v_name = scalar value calculated by an equal-style variable with name :pre :ule [Examples:] thermo_style multi thermo_style custom step temp pe etotal press vol thermo_style custom step temp etotal c_myTemp v_abc :pre [Description:] Set the style and content for printing thermodynamic data to the screen and log file. Style {one} prints a one-line summary of thermodynamic info that is the equivalent of "thermo_style custom step temp epair emol etotal press". The line contains only numeric values. Style {multi} prints a multiple-line listing of thermodynamic info that is the equivalent of "thermo_style custom etotal ke temp pe ebond eangle edihed eimp evdwl ecoul elong press". The listing contains numeric values and a string ID for each quantity. Style {custom} is the most general setting and allows you to specify which of the keywords listed above you want printed on each thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are references to "computes"_compute.html, "fixes"_fix.html, and equal-style "variables"_variable.html" that have been defined elsewhere in the input script or can even be new styles which users have added to LAMMPS (see the "Section_modify"_Section_modify.html section of the documentation). Thus the {custom} style provides a flexible means of outputting essentially any desired quantity as a simulation proceeds. All styles except {custom} have {vol} appended to their list of outputs if the simulation box volume changes during the simulation. The values printed by the various keywords are instantaneous values, calculated on the current timestep. Time-averaged quantities, which include values from previous timesteps, can be output by using the f_ID keyword and accessing a fix that does time-averaging such as the "fix ave/time"_fix_ave_time.html command. Options invoked by the "thermo_modify"_thermo_modify.html command can be used to set the one- or multi-line format of the print-out, the normalization of thermodynamic output (total values versus per-atom values for extensive quantities (ones which scale with the number of atoms in the system), and the numeric precision of each printed value. IMPORTANT NOTE: When you use a "thermo_style" command, all thermodynamic settings are restored to their default values, including those previously set by a "thermo_modify"_thermo_modify.html command. Thus if your input script specifies a thermo_style command, you should use the thermo_modify command after it. :line Several of the thermodynamic quantities require a temperature to be computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx", etc. By default this is done by using a {temperature} compute which is created when LAMMPS starts up, as if this command had been issued: compute thermo_temp all temp :pre See the "compute temp"_compute_temp.html command for details. Note that the ID of this compute is {thermo_temp} and the group is {all}. You can change the attributes of this temperature (e.g. its degrees-of-freedom) via the "compute_modify"_compute_modify.html command. Alternatively, you can directly assign a new compute (that calculates temperature) which you have defined, to be used for calculating any thermodynamic quantity that requires a temperature. This is done via the "thermo_modify"_thermo_modify.html command. Several of the thermodynamic quantities require a pressure to be computed: "press", "enthalpy", "pxx", etc. By default this is done by using a {pressure} compute which is created when LAMMPS starts up, as if this command had been issued: compute thermo_press all pressure thermo_temp :pre See the "compute pressure"_compute_pressure.html command for details. Note that the ID of this compute is {thermo_press} and the group is {all}. You can change the attributes of this pressure via the "compute_modify"_compute_modify.html command. Alternatively, you can directly assign a new compute (that calculates pressure) which you have defined, to be used for calculating any thermodynamic quantity that requires a pressure. This is done via the "thermo_modify"_thermo_modify.html command. Several of the thermodynamic quantities require a potential energy to be computed: "pe", "etotal", "ebond", etc. This is done by using a {pe} compute which is created when LAMMPS starts up, as if this command had been issued: compute thermo_pe all pe :pre See the "compute pe"_compute_pe.html command for details. Note that the ID of this compute is {thermo_pe} and the group is {all}. You can change the attributes of this potential energy via the "compute_modify"_compute_modify.html command. :line The kinetic energy of the system {ke} is inferred from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. Thus, using different "compute commands"_compute.html for calculating temperature, via the "thermo_modify temp"_thermo_modify.html command, may yield different kinetic energies, since different computes that calculate temperature can subtract out different non-thermal components of velocity and/or include different degrees of freedom (translational, rotational, etc). The potential energy of the system {pe} will include contributions from fixes if the "fix_modify thermo"_fix_modify.html option is set for a fix that calculates such a contribution. For example, the "fix wall/lj93"_fix_wall.html fix calculates the energy of atoms interacting with the wall. See the doc pages for "individual fixes" to see which ones contribute. A long-range tail correction {etail} for the VanderWaal pairwise energy will be non-zero only if the "pair_modify tail"_pair_modify.html option is turned on. The {etail} contribution is included in {evdwl}, {pe}, and {etotal}, and the corresponding tail correction to the pressure is included in {press} and {pxx}, {pyy}, etc. :line The {step}, {elapsed}, and {elaplong} keywords refer to timestep count. {Step} is the current timestep, or iteration count when a "minimization"_minimize.html is being performed. {Elapsed} is the number of timesteps elapsed since the beginning of this run. {Elaplong} is the number of timesteps elapsed since the beginning of an initial run in a series of runs. See the {start} and {stop} keywords for the "run"_run.html for info on how to invoke a series of runs that keep track of an initial starting time. If these keywords are not used, then {elapsed} and {elaplong} are the same value. The {cpu} keyword is elapsed CPU seconds since the beginning of this run. The {tpcpu} and {spcpu} keywords are measures of how fast your simulation is currently running. The {tpcpu} keyword is simulation time per CPU second, where simulation time is in time "units"_units.html. E.g. for metal units, the {tpcpu} value would be picoseconds per CPU second. The {spcpu} keyword is the number of timesteps per CPU second. Both quantities are on-the-fly metrics, measured relative to the last time they were invoked. Thus if you are printing out thermodyamic output every 100 timesteps, the two keywords will continually output the time and timestep rate for the last 100 steps. The {tpcpu} keyword does not attempt to track any changes in timestep size, e.g. due to using the "fix dt/reset"_fix_dt_reset.html command. The {fmax} and {fnorm} keywords are useful for monitoring the progress of an "energy minimization"_minimize.html. The {fmax} keyword calculates the maximum force in any dimension on any atom in the system, or the infinity-norm of the force vector for the system. The {fnorm} keyword calculates the 2-norm or length of the force vector. The keywords {cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, correspond to the usual crystallographic quantities that define the periodic unit cell of a crystal. See "this section"_Section_howto.html#howto_12 of the doc pages for a geometric description of triclinic periodic cells, including a precise defintion of these quantities in terms of the internal LAMMPS cell dimensions {lx}, {ly}, {lz}, {yz}, {xz}, {xy}, :line The {c_ID} and {c_ID\[I\]} and {c_ID\[I\]\[J\]} keywords allow global values calculated by a compute to be output. As discussed on the "compute"_compute.html doc page, computes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom compute values can be referenced in a "variable"_variable.html and the variable referenced by thermo_style custom, as discussed below. The ID in the keyword should be replaced by the actual ID of a compute that has been defined elsewhere in the input script. See the "compute"_compute.html command for details. If the compute calculates a global scalar, vector, or array, then the keyword formats with 0, 1, or 2 brackets will reference a scalar value from the compute. Note that some computes calculate "intensive" global quantities like temperature; others calculate "extensive" global quantities like kinetic energy that are summed over all atoms in the compute group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the compute group) when output, depending on the "thermo_modify norm"_thermo_modify.html option being used. The {f_ID} and {f_ID\[I\]} and {f_ID\[I\]\[J\]} keywords allow global values calculated by a fix to be output. As discussed on the "fix"_fix.html doc page, fixes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom fix values can be referenced in a "variable"_variable.html and the variable referenced by thermo_style custom, as discussed below. The ID in the keyword should be replaced by the actual ID of a fix that has been defined elsewhere in the input script. See the "fix"_fix.html command for details. If the fix calculates a global scalar, vector, or array, then the keyword formats with 0, 1, or 2 brackets will reference a scalar value from the fix. Note that some fixes calculate "intensive" global quantities like timestep size; others calculate "extensive" global quantities like energy that are summed over all atoms in the fix group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the fix group) when output, depending on the "thermo_modify norm"_thermo_modify.html option being used. The {v_name} keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the variable name that has been defined elsewhere in the input script. Only equal-style variables can be referenced. See the "variable"_variable.html command for details. Variables of style {equal} can reference per-atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when evaluated, so this is a very general means of creating thermodynamic output. See "Section_modify"_Section_modify.html for information on how to add new compute and fix styles to LAMMPS to calculate quantities that can then be referenced with these keywords to generate thermodynamic output. :line [Restrictions:] This command must come after the simulation box is defined by a "read_data"_read_data.html, "read_restart"_read_restart.html, or "create_box"_create_box.html command. [Related commands:] "thermo"_thermo.html, "thermo_modify"_thermo_modify.html, "fix_modify"_fix_modify.html, "compute temp"_compute_temp.html, "compute pressure"_compute_pressure.html [Default:] thermo_style one :pre