Response history mean

ResponseHistoryMean computes the mean history given the response histories of a suite of nodes or a boundary. The input file below contains a ResponseHistoryBuilder VectorPostprocessor called 'disp_nodes' which builds the response histories of the displacement variable 'u' at nodes 2, 6, and 10. It is desired that the corresponding mean history is calculated. This can be calculated by ResponseHistoryMean using the 'disp_mean' block as follows.

[VectorPostprocessors<<<{"href": "../../../syntax/VectorPostprocessors/index.html"}>>>]
  [./disp_nodes]
    type = ResponseHistoryBuilder<<<{"description": "Calculates response histories for a given node and variable(s).", "href": "../../../source/vectorpostprocessors/ResponseHistoryBuilder.html"}>>>
    variables<<<{"description": "Variable name for which the response history is requested."}>>> = 'u'
    nodes<<<{"description": "Node number(s) at which the response history is needed."}>>> = '2 6 10'
  [../]
  [./disp_mean]
    type = ResponseHistoryMean<<<{"description": "Calculate the mean acceleration time series given a response history.", "href": "../../../source/vectorpostprocessors/ResponseHistoryMean.html"}>>>
    response_history<<<{"description": "Name of the ResponseHistoryBuilder vectorpostprocessor, for which response spectra are calculated."}>>> = disp_nodes
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = out
  [../]
[]
(test/tests/vectorpostprocessors/response_history_mean/response_history_mean.i)
commentnote

ResponseHistoryBuilder has the capability to calculate response quantities of different types (i.e., acceleration_x, acceleration_y, velocity_x, displacement_y) at a list of nodes or a boundary. If the ResponseHistoryBuilder VectorPostprocessor requesting response histories of different types is input into ResponseHistoryMean, then mean across all these types will be calculated by ResponseHistoryMean. Of course, this may not be the intent of the user. It is, therefore, the responsibility of the user to ensure that ResponseHistoryBuilder has only one response quantity whose histories are recorded at a list of nodes or a boundary. ResponseHistoryMean will not perform a check to ensure this.

Because mean response history calculations are performed only at the end of the simulation (last time step) and not at every time step, an 'Outputs' block must be created as shown below. This block (named 'out') ensures that the CSV output is only calculated at the final timestep.

[Outputs<<<{"href": "../../../syntax/Mastodon/Outputs/index.html"}>>>]
  [./out]
    type = CSV<<<{"description": "Output for postprocessors, vector postprocessors, and scalar variables using comma seperated values (CSV).", "href": "../../../source/outputs/CSV.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'final'
  [../]
[]
(test/tests/vectorpostprocessors/response_history_mean/response_history_mean.i)

The name of the Outputs block 'out' should be provided in the mean history VectorPostprocessor block as outputs = out as shown above. For this input, a csv file of the mean response history is created, as shown below.

time,mean
0,0
1,0.63276836158192
2,0.66379392894762
3,0.66642321432106
4,0.66664603511249
5,0.66666491822981
(test/tests/vectorpostprocessors/response_history_mean/gold/response_history_mean_out_disp_mean.csv)