Skip to content

Conversation

@nmnobre
Copy link
Member

@nmnobre nmnobre commented Jan 8, 2026

With no support for field-split preconditioning for now since, if you recall from our conversation in that Starbucks in Idaho Falls, I had a nasty hack to make that (barely) work. The AMS and ADS assembly routines do still support an arbitrary variable specification but, at the moment, the user is blocked from applying these preconditioners to systems with more than one variable.

nmnobre added 13 commits January 8, 2026 19:05
Provision beyond hypre preconditioners, but simply create
empty setup function if LIBMESH_HAVE_PETSC_HYPRE is not
defined - so it's clear, both to us and the compiler, we
currently do nothing in those cases.

set_petsc_aux_data() is called in PetscNonlinearSolver::solve().
This is due to commit c10f89f in idaholab/moose#29072
which changed MOOSE to call initPetscOutputAndSomeSolverSettings()
*before* petscSetOptions(). The former calls init() on
PetscNonlinearSolver() which is where we used to call
set_petsc_aux_data(), which in turn calls PCSetFromOptions(),
at which point the options need to be set.
@roystgnr
Copy link
Member

roystgnr commented Jan 9, 2026

[0]PETSC ERROR: Unknown option ams for -pc_hypre_type from vector_fe_ex3 in one build environment. Any chance we can do some detection of available Hypre options from the script before we try running the new test config there?

@nmnobre
Copy link
Member Author

nmnobre commented Jan 9, 2026

So, this only happens in that recipe because it uses our alternative PETSc 3.11.4 installation, see:
https://github.com/idaholab/moose/blob/88356eb339a276490ffd8a2ef798d6eb1037f11f/scripts/update_and_rebuild_petsc_alt.sh#L50

Unfortunately, that version has a bug that prevents the usage of both AMS and ADS, which was only fixed in 3.12.2:
https://gitlab.com/petsc/petsc/-/commit/7702193455d4bcf8d7ebfdf39d71ff7280e30217

We have twothree options:

  1. build a tiny script that detects which version of PETSc is installed and switch back to lu in those cases (I think this is along the same lines of what you suggested above);
  2. bump the alternative PETSc version we use.
  3. Require that the PETSc version is high enough when executing the examples leveraging hypre AMS/ADS

@nmnobre nmnobre force-pushed the hypre branch 5 times, most recently from 86aa5fa to 81aefae Compare January 9, 2026 19:00
@moosebuild
Copy link

Job Coverage, step Generate coverage on 5127dc9 wanted to post the following:

Coverage

1e74b1 #4362 5127dc
Total Total +/- New
Rate 65.26% 65.22% -0.04% 78.97%
Hits 77385 77455 +70 154
Misses 41191 41304 +113 41

Diff coverage report

Full coverage report

Warnings

  • New new line coverage rate 78.97% is less than the suggested 90.0%

This comment will be updated on new commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants