.. _output-diagnostics:

***********************
Performance Diagnostics
***********************

The ``PERFORMANCE DIAGNOSTICS`` command block provides a mechanism by which diagnostic timer information can be output throughout an analysis. The performance (speed at which time stepping progresses, in this context) may vary throughout an analysis due to a variety of transient conditions. For example, periods of significant plasticity, element death, or contact may dominate the run time of an analysis later. Diagnostic timer output is  always output at the end of an analysis, but provides only an overall view of where time is spent.

.. code-block:: sierrainput

   BEGIN PERFORMANCE DIAGNOSTICS
     AT TIME <real>time_in INCREMENT =
       <real>time_increment_dt
     AT STEP <integer>step_begin INCREMENT =
       <integer>step_increment
     OUTPUT FILE = <string>output_file_name
   END [PERFORMANCE DIAGNOSTICS]

The ``PERFORMANCE DIAGNOSTICS`` command block provides period output using either the ``AT TIME`` or ``AT STEP`` commands, similar to results or history output. Timers information will be written to the log file by default. An optional ``OUTPUT FILE`` may be provided to re-direct the timer information to a separate user-specified log file, if desired, to minimize additional printing to the log file.
