From f38c93cca3bc51f1ae7c88eff3235d02e4fae9e6 Mon Sep 17 00:00:00 2001 From: Jason M Miller Date: Wed, 3 Apr 2024 06:54:16 -0600 Subject: [PATCH 1/3] Fix petsc_alt next Limit this test to running on versions of PETSc greater than 3.15 Note: 3.15 was arbitrarily chosen. I am not sure what exact version is required: PETSC ERROR: --------------------- Error Message ------------------ PETSC ERROR: No support for this operation for this object type Matrix type superlu_dist Full error can be seen here: https://civet.inl.gov/job/2157448/ Closes #27270 --- modules/optimization/examples/diffusion_reaction/tests | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/optimization/examples/diffusion_reaction/tests b/modules/optimization/examples/diffusion_reaction/tests index 2ab9271cf58b..859b18529712 100644 --- a/modules/optimization/examples/diffusion_reaction/tests +++ b/modules/optimization/examples/diffusion_reaction/tests @@ -24,6 +24,7 @@ exodiff = forward_and_adjoint_out.e prereq = 'diffusion_reaction/forward_exact diffusion_reaction/parameter_mesh' detail = 'performing a forward and adjoint simulation, and ' + petsc_version = ">=3.15" [] [optimize] type = Exodiff @@ -34,6 +35,7 @@ # steady solve recover = false detail = 'using TAO to perform optimization.' + petsc_version = ">=3.15" [] [] [] From 372306a04c077ed94074f1e5806be9cf690b12fa Mon Sep 17 00:00:00 2001 From: Jason M Miller Date: Wed, 3 Apr 2024 08:26:47 -0600 Subject: [PATCH 2/3] Adjust PETSc options Adjust PETSc options to allow tests using an older version of PETSc to pass. --- .../examples/diffusion_reaction/forward_and_adjoint.i | 4 ++-- modules/optimization/examples/diffusion_reaction/tests | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/optimization/examples/diffusion_reaction/forward_and_adjoint.i b/modules/optimization/examples/diffusion_reaction/forward_and_adjoint.i index 75a4c01a60b8..e0226abd7bd5 100644 --- a/modules/optimization/examples/diffusion_reaction/forward_and_adjoint.i +++ b/modules/optimization/examples/diffusion_reaction/forward_and_adjoint.i @@ -101,8 +101,8 @@ type = TransientAndAdjoint forward_system = nl0 adjoint_system = adjoint - petsc_options_iname = '-pc_type -pc_factor_mat_solver_package' - petsc_options_value = 'lu superlu_dist' + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' dt = 0.1 end_time = 1 diff --git a/modules/optimization/examples/diffusion_reaction/tests b/modules/optimization/examples/diffusion_reaction/tests index 859b18529712..2ab9271cf58b 100644 --- a/modules/optimization/examples/diffusion_reaction/tests +++ b/modules/optimization/examples/diffusion_reaction/tests @@ -24,7 +24,6 @@ exodiff = forward_and_adjoint_out.e prereq = 'diffusion_reaction/forward_exact diffusion_reaction/parameter_mesh' detail = 'performing a forward and adjoint simulation, and ' - petsc_version = ">=3.15" [] [optimize] type = Exodiff @@ -35,7 +34,6 @@ # steady solve recover = false detail = 'using TAO to perform optimization.' - petsc_version = ">=3.15" [] [] [] From 71cb2f0bb7e44399097133a886ccb0f6b946fc2b Mon Sep 17 00:00:00 2001 From: Lynn Munday Date: Wed, 3 Apr 2024 12:42:59 -0600 Subject: [PATCH 3/3] loosening exodiff tolerances because of change to preconditioner. These are the optimized parameters so they need looser tolerances than what is usually used for variables. closes #27272 --- modules/optimization/examples/diffusion_reaction/tests | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/optimization/examples/diffusion_reaction/tests b/modules/optimization/examples/diffusion_reaction/tests index 2ab9271cf58b..28977485bd96 100644 --- a/modules/optimization/examples/diffusion_reaction/tests +++ b/modules/optimization/examples/diffusion_reaction/tests @@ -29,6 +29,7 @@ type = Exodiff input = optimize.i exodiff = optimize_out_forward0.e + rel_err = 1e-4 prereq = diffusion_reaction/forward_and_adjoint max_threads = 1 # Optimize executioner does not support multiple threads # steady solve