HousnerSpectrumIntensity

The HousnerSpectrumIntensity calculates the Housner Spectrum Intensity (HSI) for a set of response histories calculated by the ResponseHistoryBuilder VectorPostprocessor. Housner Spectrum Intensity is defined as the area under the velocity spectrum curve, when plotted with period on the X axis (Housner, 1952). Housner (1952) recommends that the area be calculated between the periods 0.25sec and 2.5sec, which are the default values for the start_period and end_period parameters in MASTODON (see parameter definitions below). The HSI values will be output into a csv file in the same order as the acceleration variables are entered in the input file.

Usage

For example, the input file below contains a ResponseHistoryBuilder VectorPostprocessor called 'accel_hist', which builds the response histories of the acceleration variables, accel_x and accel_y at nodes 8 and 9. It is desired that the HSIs for accel_x and accel_y at these nodes be calculated. These can be calculated by the HousnerSpectrumIntensity vectorpostprocessor called 'accel_hsi', as shown in the input file below.

[VectorPostprocessors<<<{"href": "../../syntax/VectorPostprocessors/index.html"}>>>]
  [./accel_hist]
    type = ResponseHistoryBuilder<<<{"description": "Calculates response histories for a given node and variable(s).", "href": "ResponseHistoryBuilder.html"}>>>
    variables<<<{"description": "Variable name for which the response history is requested."}>>> = 'accel_x accel_y'
    nodes<<<{"description": "Node number(s) at which the response history is needed."}>>> = '8 9'
  [../]
  [./accel_hsi]
    type = HousnerSpectrumIntensity<<<{"description": "Calculate the HSI for the requested acceleration variables.", "href": "HousnerSpectrumIntensity.html"}>>>
    vectorpostprocessor<<<{"description": "Name of the ResponseHistoryBuilder vectorpostprocessor, for which HSIs are calculated."}>>> = accel_hist
    regularize_dt<<<{"description": "dt for HSI calculation. The acceleration response will be regularized to this dt prior to the HSI calculation."}>>> = 0.005
    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/housner_spectrum_intensity/housner_spectrum_intensity.i)
commentnote

HousnerSpectrumIntensity assumes that the response histories calculated in the vectorpostprocessor, provided in the vectorpostprocessor parameter in the input are acceleration histories, and will not perform any checks to ensure that they are accelerations. The user should ensure this by defining the corresponding ResponseHistoryBuilder appropriately.

Special care must be taken to ensure that the HSI calculations are performed only at the end of the simulation (last time step) and not at every time step. In order to accomplish this, 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": "../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/housner_spectrum_intensity/housner_spectrum_intensity.i)

For such an input, the HSI calculation is performed only at the end of the simulation and the HSIs are output into a csv file as shown below. Note that the columns in the csv file are organized according to the node numbers and variable names. For example, the HSIs for accel_x at node 8 are under node_8_accel_x_hsi. In this case, the HSIs for nodes 8 and 9 for the variables, accel_x and accel_y are reported.

node_8_accel_x_hsi,node_8_accel_y_hsi,node_9_accel_x_hsi,node_9_accel_y_hsi
0.81488283652923,1.6297656730584,0.8148828365292,1.6297656730584
(test/tests/vectorpostprocessors/housner_spectrum_intensity/gold/housner_spectrum_intensity_out_accel_hsi.csv)

Input Parameters

  • regularize_dtdt for HSI calculation. The acceleration response will be regularized to this dt prior to the HSI calculation.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:dt for HSI calculation. The acceleration response will be regularized to this dt prior to the HSI calculation.

  • vectorpostprocessorName of the ResponseHistoryBuilder vectorpostprocessor, for which HSIs are calculated.

    C++ Type:VectorPostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the ResponseHistoryBuilder vectorpostprocessor, for which HSIs are calculated.

Required Parameters

  • damping_ratio0.05Damping ratio for HSI calculation.

    Default:0.05

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Damping ratio for HSI calculation.

  • end_period2.5End period for the HSI calculation.

    Default:2.5

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:End period for the HSI calculation.

  • num_periods140Number of frequencies for the HSI calculation.

    Default:140

    C++ Type:unsigned int

    Controllable:No

    Description:Number of frequencies for the HSI calculation.

  • parallel_typeREPLICATEDSet how the data is represented within the VectorPostprocessor (VPP); 'distributed' indicates that data within the VPP is distributed and no auto communication is performed, this setting will result in parallel output within the CSV output; 'replicated' indicates that the data within the VPP is correct on processor 0, the data will automatically be broadcast to all processors unless the '_auto_broadcast' param is set to false within the validParams function.

    Default:REPLICATED

    C++ Type:MooseEnum

    Options:DISTRIBUTED, REPLICATED

    Controllable:No

    Description:Set how the data is represented within the VectorPostprocessor (VPP); 'distributed' indicates that data within the VPP is distributed and no auto communication is performed, this setting will result in parallel output within the CSV output; 'replicated' indicates that the data within the VPP is correct on processor 0, the data will automatically be broadcast to all processors unless the '_auto_broadcast' param is set to false within the validParams function.

  • start_period0.25Start period for the HSI calculation.

    Default:0.25

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Start period for the HSI calculation.

Optional Parameters

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Controllable:No

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

  • execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

    Default:0

    C++ Type:int

    Controllable:No

    Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

  • force_postauxFalseForces the UserObject to be executed in POSTAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in POSTAUX

  • force_preauxFalseForces the UserObject to be executed in PREAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREAUX

  • force_preicFalseForces the UserObject to be executed in PREIC during initial setup

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREIC during initial setup

Execution Scheduling 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.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:Yes

    Description:Set the enabled status of the MooseObject.

  • outputsVector of output names where you would like to restrict the output of variables(s) associated with this object

    C++ Type:std::vector<OutputName>

    Controllable:No

    Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

Material Property Retrieval Parameters

Input Files

References

  1. G. W. Housner. Spectrum intensities of strong-motion earthquakes. Symposium on Earthquake and Blast Effects on Structures, Los Angeles, California, 1952.[BibTeX]