- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- must_existFalseWhether or not the section must exist; if false and the section does not exist, the value is set to zero
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not the section must exist; if false and the section does not exist, the value is set to zero
- outputsVector of output names to which you would like to restrict the output of the postprocessors generated by this action.
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names to which you would like to restrict the output of the postprocessors generated by this action.
- problem_compute_metricTimeThe type of performance metric to collect for the residual and Jacobian calculation components of the simulation; the options are Calls Time Both.
Default:Time
C++ Type:MooseEnum
Controllable:No
Description:The type of performance metric to collect for the residual and Jacobian calculation components of the simulation; the options are Calls Time Both.
Performance Metric Outputs Action System
Description
The PerformanceMetricOutputs action is designed to provide a set of performance metrics for BISON fuel rod simulations. The standard names given to these postprocessors will aid in the the generation of comparison figures; these figures will help to track the variation in simulation of the BISON assessments cases both over a period of time and over a set of different input file and source code settings.
The user may elect to use the PerformanceMetricOutputs action to generate performance metric information for the time spent in the residual and Jacobian computations, the number of calls to the residual and Jacobian calculations, or both metrics. All of the possible outputs, generated with the parameter setting problem_compute_metric = Both, are listed in Table 1.
Table 1: Correspondence Among Action Functionality and Generated Outputs for the PerformanceMetricOutputs Action
| Functionality | Generated Postprocessor Name | Created Classes |
|---|---|---|
| Total simulation run time | simulation_alive_time | PerfGraphData |
| Linear iterations per timestep | number_linear_iterations | NumLinearIterations |
| Nonlinear iterations per timestep | number_nonlinear_iterations | NumNonlinearIterations |
| Time step size | time_step_size | TimestepSize |
| Physical memory usage | physical_memory_use | MemoryUsage |
| Total linear iterations | total_linear_iterations | CumulativeValuePostprocessor |
| Total nonlinear iterations | total_nonlinear_iterations | CumulativeValuePostprocessor |
| Number of degrees of freedom | number_dofs | NumDOFs |
| Number of nonlinear variables | number_nonlinear_variables | NumVars |
| Residual compute time per timestep | residual_compute_time | PerfGraphData |
| Jacobian compute time per timestep | jacobian_compute_time | PerfGraphData |
| Number of residual calls | number_calls_residual | PerfGraphData |
| Number of Jacobian calls | number_calls_jacobian | PerfGraphData |
The optional input parameter outputs can be used to pass a vector of output block names to restrict output to as well. If this parameter is not set, the PerformanceMetricOutputs action will create a separate CSV file with the suffix performance_metrics.csv.
Example Input File Syntax
The default behavior of the PerformanceMetricOutputs action will create a standard set of outputs to monitor the simulation performance simply by including the action name in the input file:
[PerformanceMetricOutputs<<<{"href": "index.html"}>>>]
[](test/tests/performance_outputs_action/reference_residual_use.i)If desired, a separate output file block can be included in the input file and connected to the PerformanceMetricOutputs action:
[Outputs<<<{"href": "../Outputs/index.html"}>>>]
[separate_file]
type = CSV<<<{"description": "Output for postprocessors, vector postprocessors, and scalar variables using comma seperated values (CSV).", "href": "../../source/outputs/CSV.html"}>>>
time_step_interval<<<{"description": "The interval (number of time steps) at which output occurs. Unless explicitly set, the default value of this parameter is set to infinity if the wall_time_interval is explicitly set."}>>> = 2
show<<<{"description": "A list of the variables and postprocessors that should be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names)."}>>> = 'simulation_alive_time number_linear_iterations number_nonlinear_iterations time_step_size total_linear_iterations total_nonlinear_iterations physical_memory_use number_dofs number_nonlinear_variables residual_compute_time jacobian_compute_time'
[]
[](test/tests/performance_outputs_action/custom_outputfile.i)where the argument to the outputs parameter matches the name of the Outputs block in the input file
[PerformanceMetricOutputs<<<{"href": "index.html"}>>>]
outputs<<<{"description": "Vector of output names to which you would like to restrict the output of the postprocessors generated by this action."}>>> = 'separate_file'
[](test/tests/performance_outputs_action/custom_outputfile.i)Input Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
Advanced Parameters
Associated Actions
Available Actions
- Bison App
- PerformanceMetricOutputsActionSets up the Postprocessors for a set of performance metrics (such as run time and iteration counts) for any Bison simulation. These metrics are output to a separate CSV file.