From 3fdc16cfe3ca20453fe539dc5b769f0a0079fb3d Mon Sep 17 00:00:00 2001 From: Chandu Bolisetti Date: Tue, 4 Jun 2019 20:46:52 -0600 Subject: [PATCH] Added more requirements for actions, multiapps, pra, transfers, uo, and vpps. Refs #55, #59 and #173. --- test/tests/mastodonblock/combined/tests | 11 +++++++++++ test/tests/mastodonblock/model/tests | 17 +++++++++++++++++ test/tests/mastodonblock/outputs/tests | 7 +++++++ .../tests/multiapps/hazard_curve_multiapp/tests | 4 ++++ test/tests/pra/tests | 6 ++++++ .../tests/transfers/hazard_curve_transfer/tests | 4 ++++ test/tests/transfers/piecewise_function/tests | 7 +++++++ .../userobjects/ground_motion_reader/tests | 8 ++++++++ test/tests/userobjects/hazard_curve/tests | 8 ++++++++ test/tests/vectorpostprocessors/fragility/tests | 5 +++++ .../housner_spectrum_intensity/tests | 14 ++++++++++++++ .../response_history_builder/tests | 14 ++++++++++++++ .../response_spectra_calculator/tests | 11 +++++++++++ 13 files changed, 116 insertions(+) diff --git a/test/tests/mastodonblock/combined/tests b/test/tests/mastodonblock/combined/tests index d1ff4ff041..d5e8ca0a45 100644 --- a/test/tests/mastodonblock/combined/tests +++ b/test/tests/mastodonblock/combined/tests @@ -1,9 +1,14 @@ [Tests] + design = 'syntax/Mastodon/index.md' + issues = '#50' + [./noaction] # 1 element problem with no Mastodon block actions type = Exodiff input = noaction.i exodiff = noaction_out.e + + requirement = "MASTODON shall accurately evaluate a single 3D element dynamics problem when the MastodonBlock action is not used." [../] [./noaction_2D] @@ -11,6 +16,8 @@ type = Exodiff input = noaction_2D.i exodiff = noaction_2D_out.e + + requirement = "MASTODON shall accurately evaluate a single 2D element dynamics problem when the MastodonBlock action is not used." [../] [./mastodon_block_actions] @@ -20,6 +27,8 @@ exodiff = noaction_out.e cli_args = "Outputs/file_base=noaction_out" prereq = noaction + + requirement = "Using the MastodonBlock action should produce results that are identical to those calculated without the action for a single 3D element dynamic problem." [../] [./mastodon_block_actions_2D] @@ -29,5 +38,7 @@ exodiff = noaction_2D_out.e cli_args = "Outputs/file_base=noaction_2D_out" prereq = noaction_2D + + requirement = "Using the MastodonBlock action should produce results that are identical to those calculated without the action for a single 2D element dynamic problem." [../] [] diff --git a/test/tests/mastodonblock/model/tests b/test/tests/mastodonblock/model/tests index e0a6053ce8..108415b3a7 100644 --- a/test/tests/mastodonblock/model/tests +++ b/test/tests/mastodonblock/model/tests @@ -1,9 +1,14 @@ [Tests] + design = 'source/actions/MastodonModelAction.md' + issues = '#50' + [./noaction_static] # 1 element static analysis with no Mastodon/model actions type = Exodiff input = noaction_static.i exodiff = noaction_static_out.e + + requirements = "MASTODON shall correctly perform a 1 element 3D static analysis without MastodonModel action." [../] [./model_static] @@ -13,6 +18,8 @@ exodiff = noaction_static_out.e cli_args = "Outputs/file_base=noaction_static_out" prereq = noaction_static + + requirements = "Using the MastodonModel action for a 1 element 3D static analysis should produce results that are identical to those calculated without using the MastodonModel action." [../] [./noaction_dynamic] @@ -20,6 +27,8 @@ type = Exodiff input = noaction_dynamic.i exodiff = noaction_dynamic_out.e + + requirements = "MASTODON shall correctly perform a 1 element 3D dynamic analysis without MastodonModel action." [../] [./noaction_dynamic_2D] @@ -27,6 +36,8 @@ type = Exodiff input = noaction_dynamic_2D.i exodiff = noaction_dynamic_2D_out.e + + requirements = "MASTODON shall correctly perform a 1 element 2D dynamic analysis without MastodonModel action." [../] [./model_dynamic] @@ -36,6 +47,8 @@ exodiff = noaction_dynamic_out.e cli_args = "Outputs/file_base=noaction_dynamic_out" prereq = noaction_dynamic + + requirements = "Using the MastodonModel action for a 1 element 3D dynamic analysis should produce results that are identical to those calculated without using the MastodonModel action." [../] [./model_dynamic_2D] @@ -45,6 +58,8 @@ exodiff = noaction_dynamic_2D_out.e cli_args = "Outputs/file_base=noaction_dynamic_2D_out" prereq = noaction_dynamic_2D + + requirements = "Using the MastodonModel action for a 1 element 2D dynamic analysis should produce results that are identical to those calculated without using the MastodonModel action." [../] [./model_dynamic_2D_dim_error] @@ -53,6 +68,8 @@ input = model_dynamic_2D.i cli_args = "Mastodon/Model/dim=3" expect_err = "Error in MastodonModelAction block, Model. dim is not equal to the mesh dimension, which is 2." + + requirements = "MASTODON shall throw an error when the `dim` parameter in MastodonModel action is not consistent with the dimension of the mesh in the mesh block." [../] [] diff --git a/test/tests/mastodonblock/outputs/tests b/test/tests/mastodonblock/outputs/tests index 1d59fafa9c..2eca240526 100644 --- a/test/tests/mastodonblock/outputs/tests +++ b/test/tests/mastodonblock/outputs/tests @@ -1,9 +1,14 @@ [Tests] + design = 'source/actions/MastodonOutputsAction.md' + issues = '#50' + [./noaction_stress_strain_output] # 1 element problem with no Mastodon/Outputs actions type = Exodiff input = noaction_stress_strain_output.i exodiff = noaction_stress_strain_output_out.e + + requirements = "MASTODON shall correctly evaluate the outputs of a 1 element analysis when the MastodonOutputs action is not used." [../] [./variable_action] @@ -13,5 +18,7 @@ exodiff = noaction_stress_strain_output_out.e cli_args = "Outputs/file_base=noaction_stress_strain_output_out" prereq = noaction_stress_strain_output + + requirements = "Using the MastodonOutputs action for a 1 element analysis should produce results that are identical to those calculated when the MastodonOutputs action is not used." [../] [] diff --git a/test/tests/multiapps/hazard_curve_multiapp/tests b/test/tests/multiapps/hazard_curve_multiapp/tests index 54fc7a9f79..6655462a00 100644 --- a/test/tests/multiapps/hazard_curve_multiapp/tests +++ b/test/tests/multiapps/hazard_curve_multiapp/tests @@ -1,4 +1,6 @@ [Tests] + design = 'source/multiapps/HazardCurveMultiApp.md' + issues = '#61' [./run] type = CheckFiles input = hazard_curve_master.i @@ -22,5 +24,7 @@ hazard_curve_master_out_run_hazard17.e hazard_curve_master_out_run_hazard18.e hazard_curve_master_out_run_hazard19.e" + + requirements = "The HazardCurveMultiApp shall execute the sub file for each ground motion in the GroundMotionReader UserObject for each bin of the HazardCurve UserObject." [../] [] diff --git a/test/tests/pra/tests b/test/tests/pra/tests index 9eb71bcae4..b47a0640c8 100644 --- a/test/tests/pra/tests +++ b/test/tests/pra/tests @@ -1,5 +1,9 @@ # test for the PRA infrastructure in MASTODON [Tests] + design = 'source/multiapps/HazardCurveMultiApp.md' + # Change design to SPRA documentation when written + issues = '#101' + [./pra] type = CSVDiff input = master.i @@ -40,5 +44,7 @@ master_out_run_hazard11_sub0.csv master_out_run_hazard11_sub1.csv master_out_run_hazard11_sub2.csv" + + requirements = "MASTODON shall perform probabilistic simulations for seismic probabilistic risk assessment for a given hazard curve, number of bins, ground motions and a finite element model." [../] [] diff --git a/test/tests/transfers/hazard_curve_transfer/tests b/test/tests/transfers/hazard_curve_transfer/tests index 763b292943..500de67a1e 100644 --- a/test/tests/transfers/hazard_curve_transfer/tests +++ b/test/tests/transfers/hazard_curve_transfer/tests @@ -1,4 +1,6 @@ [Tests] + design = 'source/transfers/HazardCurveTransfer.md' + issues = '#61' [./run] type = CSVDiff input = hazard_curve_master.i @@ -22,5 +24,7 @@ hazard_curve_master_out_run_hazard17.csv hazard_curve_master_out_run_hazard18.csv hazard_curve_master_out_run_hazard19.csv" + + requirements = "The HazardCurve transfer shall scale the ground motions from the GroundMotionReader UserObject according to the hazard curve in the Hazard UserObject and transfer the ground motions to the sub file." [../] [] diff --git a/test/tests/transfers/piecewise_function/tests b/test/tests/transfers/piecewise_function/tests index 893f64f6a5..c7fe88bd21 100644 --- a/test/tests/transfers/piecewise_function/tests +++ b/test/tests/transfers/piecewise_function/tests @@ -1,12 +1,19 @@ [Tests] + design = 'source/transfers/PiecewiseFunctionTransfer.md' + issues = '#123' + [to_multiapp] type = CSVDiff input = to_master.i csvdiff = 'to_master_out.csv to_master_out_sub0.csv' + + requirements = "The PiecewiseFunctionTransfer shall transfer a PiecewiseLinear function value from a sub to the master file." [] [from_multiapp] type = CSVDiff input = from_master.i csvdiff = 'from_master_out.csv from_master_out_sub0.csv' + + requirements = "The PiecewiseFunctionTransfer shall transfer a PiecewiseLinear function value from a master to the sub file." [] [] diff --git a/test/tests/userobjects/ground_motion_reader/tests b/test/tests/userobjects/ground_motion_reader/tests index 755ae1b1be..b76603bc9f 100644 --- a/test/tests/userobjects/ground_motion_reader/tests +++ b/test/tests/userobjects/ground_motion_reader/tests @@ -1,12 +1,20 @@ [Tests] + design = "source/userobjects/GroundMotionReader.md" + issues = '#61' + [./run] type = RunApp input = ground_motion_reader.i + + requirements = "The GroundMotionReader object shall run without errors." [../] + [./bad_pattern] type = RunException input = ground_motion_reader.i cli_args = UserObjects/motions/pattern=this/is/wrong*.csv expect_err = "Unable to locate files with the given pattern \(this/is/wrong\*\.csv\) in the GroundMotionReader object 'motions'." + + requirements = "The GroundMotionReader object shall throw an error when the ground motion files with the provided pattern are not found." [../] [] diff --git a/test/tests/userobjects/hazard_curve/tests b/test/tests/userobjects/hazard_curve/tests index 9d2d36ad64..3ff93d929d 100644 --- a/test/tests/userobjects/hazard_curve/tests +++ b/test/tests/userobjects/hazard_curve/tests @@ -1,12 +1,20 @@ [Tests] + design = "source/userobjects/HazardCurve.md" + issues = '#61' + [./run] type = RunApp input = hazard_curve.i + + requirements = "The HazardCurve userobject shall run without errors." [../] + [./ref_size_error] type = RunException input = hazard_curve.i cli_args = "UserObjects/hazard/reference_acceleration='1 2 3 4 5 6 7'" expect_err = "The 'reference_acceleration' input must \(size: 7\) in the 'hazard' block should be a scalar or a vector equal to the length of the prescribed number of bins \(5\)." + + requirements = "The HazardCurve userobject shall throw an error when the `reference_acceleration` input is not a scalar, or a vector of the size equal to the number of bins." [../] [] diff --git a/test/tests/vectorpostprocessors/fragility/tests b/test/tests/vectorpostprocessors/fragility/tests index 14f6e76a0b..bfc4a919d8 100644 --- a/test/tests/vectorpostprocessors/fragility/tests +++ b/test/tests/vectorpostprocessors/fragility/tests @@ -1,9 +1,14 @@ # Test for Fragility VectorPostprocessor [Tests] + design = "source/vectorpostprocessors/Fragility.md" + issues = '#44' + [./fragility] type = CSVDiff input = fragility.i csvdiff = fragility_out_fragility_pump_0002.csv boost = true + + requirements = "The Fragility vectorpostprocessor shall accurately evaluate the median demands, beta, and the conditional probability of failure of the SSC at each intensity, and the median and beta of the enhanced fragility fit for the SSC." [../] [] diff --git a/test/tests/vectorpostprocessors/housner_spectrum_intensity/tests b/test/tests/vectorpostprocessors/housner_spectrum_intensity/tests index 856ff02e31..9dc6b20e5f 100644 --- a/test/tests/vectorpostprocessors/housner_spectrum_intensity/tests +++ b/test/tests/vectorpostprocessors/housner_spectrum_intensity/tests @@ -1,9 +1,15 @@ [Tests] + design = "source/vectorpostprocessors/HousnerSpectrumIntensity.md" + issues = '#39' + [./hsi] type = CSVDiff input = housner_spectrum_intensity.i csvdiff = housner_spectrum_intensity_out_accel_hsi.csv + + requirements = "The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history on a serial execution." [../] + [./hsi_parallel] type = CSVDiff input = housner_spectrum_intensity.i @@ -11,14 +17,20 @@ prereq = hsi min_parallel = 3 max_parallel = 3 + + requirements = "The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history on a parallel execution." [../] + [./hsi_threads] type = CSVDiff input = housner_spectrum_intensity.i csvdiff = housner_spectrum_intensity_out_accel_hsi.csv prereq = hsi_parallel min_threads = 3 + + requirements = "The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history on a parallel execution." [../] + [./hsi_threads_parallel] type = CSVDiff input = housner_spectrum_intensity.i @@ -26,5 +38,7 @@ prereq = hsi_threads min_threads = 3 min_parallel = 2 + + requirements = "The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history on a parallel execution." [../] [] diff --git a/test/tests/vectorpostprocessors/response_history_builder/tests b/test/tests/vectorpostprocessors/response_history_builder/tests index 3f87fa7c11..d9421369f3 100644 --- a/test/tests/vectorpostprocessors/response_history_builder/tests +++ b/test/tests/vectorpostprocessors/response_history_builder/tests @@ -1,9 +1,15 @@ [Tests] + design = "source/vectorpostprocessors/ResponseHistoryBuilder.md" + issues = '#35' + [./builder] type = CSVDiff input = response_history_builder.i csvdiff = 'response_history_builder_out_accel_nodes.csv response_history_builder_out_accel_bnd.csv' + + requirements = "The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a serial execution." [../] + [./builder_parallel] type = CSVDiff input = response_history_builder.i @@ -11,14 +17,20 @@ prereq = builder min_parallel = 3 max_parallel = 3 + + requirements = "The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a parallel execution." [../] + [./builder_threads] type = CSVDiff input = response_history_builder.i csvdiff = 'response_history_builder_out_accel_nodes.csv response_history_builder_out_accel_bnd.csv' prereq = builder_parallel min_threads = 6 + + requirements = "The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a parallel execution." [../] + [./builder_threads_parallel] type = CSVDiff input = response_history_builder.i @@ -26,5 +38,7 @@ prereq = builder_threads min_threads = 4 min_parallel = 2 + + requirements = "The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a parallel execution." [../] [] diff --git a/test/tests/vectorpostprocessors/response_spectra_calculator/tests b/test/tests/vectorpostprocessors/response_spectra_calculator/tests index 5cb1f10342..4c1a9f55f3 100644 --- a/test/tests/vectorpostprocessors/response_spectra_calculator/tests +++ b/test/tests/vectorpostprocessors/response_spectra_calculator/tests @@ -1,8 +1,13 @@ [Tests] + design = 'source/vectorpostprocessors/ResponseSpectraCalculator.md' + issues = '#36' + [./spectrum] type = CSVDiff input = response_spectra_calculator.i csvdiff = response_spectra_calculator_out_accel_spec.csv + + requirements = "The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a serial execution." [../] [./spectrum_parallel] type = CSVDiff @@ -11,6 +16,8 @@ prereq = spectrum min_parallel = 3 max_parallel = 3 + + requirements = "The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a parallel execution." [../] [./spectrum_threads] type = CSVDiff @@ -18,6 +25,8 @@ csvdiff = response_spectra_calculator_out_accel_spec.csv prereq = spectrum_parallel min_threads = 3 + + requirements = "The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a parallel execution." [../] [./spectrum_threads_parallel] type = CSVDiff @@ -26,5 +35,7 @@ prereq = spectrum_threads min_threads = 3 min_parallel = 2 + + requirements = "The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a parallel execution." [../] []