diff --git a/modules/combined/test/tests/invOpt_nonlinear/tests b/modules/combined/test/tests/invOpt_nonlinear/tests index 82615234807c..31e086b524bb 100644 --- a/modules/combined/test/tests/invOpt_nonlinear/tests +++ b/modules/combined/test/tests/invOpt_nonlinear/tests @@ -1,5 +1,5 @@ [Tests] - issues = 'idaholab/isopod#25' + issues = '#22208' design = 'MaterialScaledGradientVector.md' requirement = "The system shall invert for a constant heat source with a temperature dependent " "thermal condutivity using a" diff --git a/modules/doc/config.yml b/modules/doc/config.yml index dee4a0311bd2..7b8b0e6b43c9 100644 --- a/modules/doc/config.yml +++ b/modules/doc/config.yml @@ -112,6 +112,7 @@ Extensions: meshgenerators: syntax/Mesh/index.md multiapps: syntax/MultiApps/index.md nodalkernels: syntax/NodalKernels/index.md + optimizationreporters: syntax/OptimizationReporter/index.md outputs: syntax/Outputs/index.md parser: source/parser/Parser.md partitioner: syntax/Mesh/Partitioner/index.md diff --git a/modules/doc/sqa_reports.yml b/modules/doc/sqa_reports.yml index bd147dd34c60..6b9883b9215e 100644 --- a/modules/doc/sqa_reports.yml +++ b/modules/doc/sqa_reports.yml @@ -408,7 +408,7 @@ Requirements: optimization: directories: - - modules/navier_stokes + - modules/optimization phase_field: directories: diff --git a/modules/optimization/doc/content/source/optimizationreporters/OptimizationReporter.md b/modules/optimization/doc/content/source/optimizationreporters/OptimizationReporter.md new file mode 100644 index 000000000000..b0561293f893 --- /dev/null +++ b/modules/optimization/doc/content/source/optimizationreporters/OptimizationReporter.md @@ -0,0 +1 @@ +!template load file=stubs/moose_object.md.template name=OptimizationReporter syntax=/UserObjects/OptimizationReporter diff --git a/modules/optimization/doc/sqa_reports.yml b/modules/optimization/doc/sqa_reports.yml index f559c30b11a7..f15f982715d2 100644 --- a/modules/optimization/doc/sqa_reports.yml +++ b/modules/optimization/doc/sqa_reports.yml @@ -8,7 +8,8 @@ Applications: - ${MOOSE_DIR}/framework/doc/unregister.yml remove: - ${MOOSE_DIR}/framework/doc/remove.yml - log_missing_markdown: WARNING + # log_missing_markdown: WARNING + log_stub_files: WARNING Documents: software_quality_plan: sqa/inl_records.md#software_quality_plan @@ -27,8 +28,8 @@ Documents: software_library_list: sqa/optimization_sll.md communication_and_contact_information: sqa/framework_cci.md software_coding_standards: sqa/framework_scs.md - log_user_manual: WARNING - log_theory_manual: WARNING + user_manual: getting_started/RunningOptimization.md + theory_manual: getting_started/InvOptTheory.md Requirements: optimization: diff --git a/modules/optimization/examples/bimaterial/tests b/modules/optimization/examples/bimaterial/tests index b9eaf2268c83..5a2b83d5aeb2 100644 --- a/modules/optimization/examples/bimaterial/tests +++ b/modules/optimization/examples/bimaterial/tests @@ -1,5 +1,6 @@ [Tests] issues = '#21885' + design = 'Optimize.md' [nm] type = CSVDiff input = main.i @@ -8,7 +9,7 @@ rel_err = 0.3 cli_args = "Executioner/tao_solver=TAONM Executioner/petsc_options_iname='-tao_fmin' " "Executioner/petsc_options_value='0.0001'" - requirement = "XXXX shall be able to use Nelder Mead to invert for material properties" + requirement = "The system shall be able to use Nelder Mead to invert for material properties" [] [fd_grad] type = CSVDiff @@ -18,8 +19,8 @@ rel_err = 0.1 cli_args = "Executioner/tao_solver=TAOBLMVM Executioner/petsc_options_iname='-tao_fd_gradient " "-tao_gatol' Executioner/petsc_options_value='True 0.0005'" - requirement = "XXXX shall be able to use finite-differencing with a gradient method to invert " - "for material properties" + requirement = "The system shall be able to use finite-differencing with a gradient method to " + "invert for material properties" [] [fd_hess] type = CSVDiff @@ -29,7 +30,7 @@ rel_err = 1.0 cli_args = "Executioner/tao_solver=taobntr Executioner/petsc_options_iname='-tao_fd_gradient " "-tao_fd_hessian -tao_gatol' Executioner/petsc_options_value='true True 0.1'" - requirement = "XXXX shall be able to use finite-differencing with a hessian method to invert for " - "material properties" + requirement = "The system shall be able to use finite-differencing with a hessian method to " + "invert for material properties" [] [] diff --git a/modules/optimization/examples/simpleTransient/tests b/modules/optimization/examples/simpleTransient/tests index 7b01bf587896..f94ebe00f02b 100644 --- a/modules/optimization/examples/simpleTransient/tests +++ b/modules/optimization/examples/simpleTransient/tests @@ -1,8 +1,8 @@ [Tests] [transient] - design = 'ElementOptimizationSourceFunctionInnerProduct.md VectorNearestPointFunction.md VectorPointSource.md' + design = "ElementOptimizationSourceFunctionInnerProduct.md VectorNearestPointFunction.md VectorPointSource.md" issues = '#42' - requirement = 'The system shall be able to perform force-inversion optimization with time-dependent parameters and outputs with' + requirement = "The system shall be able to perform force-inversion optimization with time-dependent parameters and outputs with" [objective] type = JSONDiff input = main.i diff --git a/modules/optimization/test/tests/dirackernels/tests b/modules/optimization/test/tests/dirackernels/tests index d949feeb2de4..c02e44a12741 100644 --- a/modules/optimization/test/tests/dirackernels/tests +++ b/modules/optimization/test/tests/dirackernels/tests @@ -1,5 +1,5 @@ [Tests] - issues = 'idaholab/isopod#42' + issues = '#22215' [vector_point_source] design = 'VectorPointSource.md' requirement = 'The system shall support point sources with locations, times, and values given by a vector values with ' diff --git a/modules/optimization/test/tests/executioners/tests b/modules/optimization/test/tests/executioners/tests index a50b4475890a..953c34928056 100644 --- a/modules/optimization/test/tests/executioners/tests +++ b/modules/optimization/test/tests/executioners/tests @@ -1,5 +1,6 @@ [Tests] issues = '#21885' + design = 'Optimize.md' [quadratic_taonm] type = CSVDiff max_threads = 1 diff --git a/modules/optimization/test/tests/functions/piecewise_multilinear_from_reporter/tests b/modules/optimization/test/tests/functions/piecewise_multilinear_from_reporter/tests index 1d27c2d82908..70566444eb30 100644 --- a/modules/optimization/test/tests/functions/piecewise_multilinear_from_reporter/tests +++ b/modules/optimization/test/tests/functions/piecewise_multilinear_from_reporter/tests @@ -1,5 +1,6 @@ [Tests] - issues = 'idaholab/isopod#47' + issues = '#22217' + design = 'PiecewiseMultilinearFromReporter.md' [interp] requirement = "The PiecewiseMultilinearFromReporter object shall perform" [except1] diff --git a/modules/optimization/test/tests/functions/vector_nearest_point/tests b/modules/optimization/test/tests/functions/vector_nearest_point/tests index ecc448311987..fb74ec3065e7 100644 --- a/modules/optimization/test/tests/functions/vector_nearest_point/tests +++ b/modules/optimization/test/tests/functions/vector_nearest_point/tests @@ -1,7 +1,7 @@ [Tests] [vector_nearest_point] design = 'VectorNearestPointFunction.md' - issues = 'idaholab/isopod#42' + issues = '#22215' requirement = 'The system shall be able to compute a auxiliary varible based on data from reporter values with ' [x] type = Exodiff diff --git a/modules/optimization/test/tests/optimizationreporter/base/tests b/modules/optimization/test/tests/optimizationreporter/base/tests index acef32ef9db3..6e621501244b 100644 --- a/modules/optimization/test/tests/optimizationreporter/base/tests +++ b/modules/optimization/test/tests/optimizationreporter/base/tests @@ -1,19 +1,21 @@ [Tests] - issues = 'idaholab/isopod#34' + issues = '#22212' design = 'OptimizationReporter/index.md' - requirement = "The system shall correctly read in " - [input] - type = JSONDiff - input = optRep_fromInput.i - jsondiff = optRep_fromInput_out.json - allow_test_objects = true - detail = "parameter data from the input file and and measurment data from the input file." - [] - [csv] - type = JSONDiff - input = optRep_fromCsv.i - jsondiff = optRep_fromCsv_out.json - allow_test_objects = true - detail = "parameter data from the input file and and measurment data from a CSV file." + [read_data] + requirement = "The system shall correctly read in " + [input] + type = JSONDiff + input = optRep_fromInput.i + jsondiff = optRep_fromInput_out.json + allow_test_objects = true + detail = "parameter data from the input file and and measurment data from the input file." + [] + [csv] + type = JSONDiff + input = optRep_fromCsv.i + jsondiff = optRep_fromCsv_out.json + allow_test_objects = true + detail = "parameter data from the input file and and measurment data from a CSV file." + [] [] [] diff --git a/modules/optimization/test/tests/optimizationreporter/bc_convective/tests b/modules/optimization/test/tests/optimizationreporter/bc_convective/tests index 9f78ca5988a2..953e914b618d 100644 --- a/modules/optimization/test/tests/optimizationreporter/bc_convective/tests +++ b/modules/optimization/test/tests/optimizationreporter/bc_convective/tests @@ -1,4 +1,6 @@ [Tests] + issues = '#21885' + design = 'Optimize.md' [taolmvm] type = CSVDiff max_threads = 1 @@ -7,5 +9,6 @@ csvdiff = forward_vertical_0001.csv # steady solve recover = false + requirement = 'The system shall be able to solve an inverse boundary value problem using TAO.' [] [] diff --git a/modules/optimization/test/tests/optimizationreporter/bimaterial/tests b/modules/optimization/test/tests/optimizationreporter/bimaterial/tests index a5154972d379..f66279c18e8e 100644 --- a/modules/optimization/test/tests/optimizationreporter/bimaterial/tests +++ b/modules/optimization/test/tests/optimizationreporter/bimaterial/tests @@ -1,7 +1,6 @@ [Tests] issues = '#21885' design = 'DiffusionVariableIntegral.md' - requirement = 'The system shall be able to invert for the material properties of two seperate materials' [taoblmvm] type = CSVDiff max_threads = 1 @@ -9,5 +8,6 @@ abs_zero = 1e-2 csvdiff = main_out_OptimizationReporter_0001.csv recover = false + requirement = 'The system shall be able to invert for the material properties of two seperate materials' [] [] diff --git a/modules/optimization/test/tests/optimizationreporter/point_loads/tests b/modules/optimization/test/tests/optimizationreporter/point_loads/tests index ffedf445e78f..2e4d32f4fd11 100644 --- a/modules/optimization/test/tests/optimizationreporter/point_loads/tests +++ b/modules/optimization/test/tests/optimizationreporter/point_loads/tests @@ -1,7 +1,6 @@ [Tests] issues = '#21885' design = 'ReporterPointSource.md' - requirement = "The system shall be able to invert for point loads using " [hessian] type = CSVDiff max_threads = 1 @@ -11,7 +10,8 @@ "-tao_max_it -tao_nls_pc_type -tao_nls_ksp_type' " "Executioner/petsc_options_value='1e-5 10 none cg'" csvdiff = main_out_receiver_0001.csv - detail = " Hessian based optimimization;" + requirement = "The system shall be able to invert for point loads using Hessian based " + "optimimization;" # steady solve recover = false [] @@ -21,7 +21,8 @@ rel_err = 0.1 input = main.i csvdiff = main_out_receiver_0001.csv - detail = " gradient based optimization;" + requirement = "The system shall be able to invert for point loads using gradient based " + "optimization;" # steady solve recover = false [] diff --git a/modules/optimization/test/tests/reporter/GriddedDataReporter/tests b/modules/optimization/test/tests/reporter/GriddedDataReporter/tests index f15111625e80..aab5939cd295 100644 --- a/modules/optimization/test/tests/reporter/GriddedDataReporter/tests +++ b/modules/optimization/test/tests/reporter/GriddedDataReporter/tests @@ -3,6 +3,8 @@ requirement = "This tests that a reporter is able to read in a gridded data file and produce the " "appropriate grid from it that can be used in PiecewiseMultiInterpolation like " "functions." + issues = '#21885' + design = 'GriddedDataReporter.md' type = JSONDiff input = 'griddedData.i' jsondiff = 'griddedData_out.json' diff --git a/modules/optimization/test/tests/vectorpostprocessors/element_source_inner_product/tests b/modules/optimization/test/tests/vectorpostprocessors/element_source_inner_product/tests index 654cefef7cf2..fca8d9f110f0 100644 --- a/modules/optimization/test/tests/vectorpostprocessors/element_source_inner_product/tests +++ b/modules/optimization/test/tests/vectorpostprocessors/element_source_inner_product/tests @@ -5,7 +5,7 @@ input = element_source_inner_product.i csvdiff = element_source_inner_product_out_inner_product_0011.csv recover = false # Can't do recover since there is no mesh - issues = '#42' + issues = '#22215' requirement = 'They system shall be able to compute the inner product of a variable and a nearest node optimization volumetric source function.' [] [] diff --git a/modules/optimization/test/tests/vectorpostprocessors/measured_data_point_sampler/tests b/modules/optimization/test/tests/vectorpostprocessors/measured_data_point_sampler/tests index e29e0d8f985b..76bb79fbe288 100644 --- a/modules/optimization/test/tests/vectorpostprocessors/measured_data_point_sampler/tests +++ b/modules/optimization/test/tests/vectorpostprocessors/measured_data_point_sampler/tests @@ -1,6 +1,6 @@ [Tests] - design = 'None' - issues = 'None' + design = 'MeasuredDataPointSampler.md' + issues = '#21885' [sort] requirement = "Measured point value sampler can hold a vector of measurement data and sortit the "