Enabling AMG solver output details causes error when running cookbook with Aspect 2.5.0

Good morning,

I have encountered an issue when trying to enable the parameter Solver parameters > AMG parameters > AMG output details https://aspect-documentation.readthedocs.io/en/v2.5.0/parameters/Solver_20parameters.html#parameter-name-amg-output-details. I am running ASPECT 2.5.0 and I can reproduce this error while running the bunge_et_al_mantle_convection cookbook.

When I run the cookbook with the solver parameters set up like so, I have no issues:

subsection Solver parameters
  subsection Stokes solver parameters
    set Stokes solver type = block AMG
  end
end

However, if I set up the parameters like this:

subsection Solver parameters
  subsection AMG parameters
    set AMG output details = true
  end
  subsection Stokes solver parameters
    set Stokes solver type = block AMG
  end
end

I get the following error:

-----------------------------------------------------------------------------
-- This is ASPECT, the Advanced Solver for Problems in Earth's ConvecTion.
--     . version 2.5.0 (aspect-2.5, bafd9df3e)
--     . using deal.II 9.5.2
--     .       with 64 bit indices and vectorization level 3 (512 bits)
--     . using Trilinos 15.0.0
--     . using p4est 2.8.5
--     . running in OPTIMIZED mode
--     . running with 1 MPI process
-----------------------------------------------------------------------------

-----------------------------------------------------------------------------
-- For information on how to cite ASPECT, see:
--   https://aspect.geodynamics.org/citing.html?ver=2.5.0&sha=bafd9df3e&src=code
-----------------------------------------------------------------------------
Number of active cells: 12,288 (on 6 levels)
Number of degrees of freedom: 162,432 (99,840+12,672+49,920)

*** Timestep 0:  t=0 years, dt=0 years
   Solving temperature system... 0 iterations.
   Rebuilding Stokes preconditioner...------------------------------------------------------------------------------
Using `cg' for eigen-computations
*** 
*** ML_Epetra::MultiLevelPreconditioner
***
Matrix has 
*********************************************************
ML failed to compute the multigrid preconditioner. The
most common problem is an incorrect  data type in ML's
parameter list (e.g. 'int' instead of 'bool').

Note: List.set("ML print initial list",X) might help
figure out the bad one on pid X.
*********************************************************

ML::ERROR:: -1, /admin/build/admin/rpms/stampede3/BUILD/trilinos-15.0.0/packages/ml/src/Utils/ml_MultiLevelPreconditioner.cpp, line 2659
ML::ERROR:: ------------------------------------------------------------------------------
Using `cg' for eigen-computations
*** 
*** ML_Epetra::MultiLevelPreconditioner
***
Matrix has 
*********************************************************
ML failed to compute the multigrid preconditioner. The
most common problem is an incorrect  data type in ML's
parameter list (e.g. 'int' instead of 'bool').

Note: List.set("ML print initial list",X) might help
figure out the bad one on pid X.
*********************************************************

ML::ERROR:: -1, /admin/build/admin/rpms/stampede3/BUILD/trilinos-15.0.0/packages/ml/src/Utils/ml_MultiLevelPreconditioner.cpp, line 2659
-1, /admin/build/admin/rpms/stampede3/BUILD/trilinos-15.0.0/packages/ml/src/Utils/ml_MultiLevelPreconditioner.cpp, line 356
------------------------------------------------------------------------------
Unused parameters:
WARNING: Parameter "prec type" MGV   [unused] is unused
WARNING: Parameter "aggregation: type" Uncoupled   [unused] is unused
WARNING: Parameter "aggregation: damping factor" 1.333   [unused] is unused
WARNING: Parameter "smoother: sweeps" 2   [unused] is unused
WARNING: Parameter "smoother: damping factor" 1   [unused] is unused
WARNING: Parameter "smoother: pre or post" both   [unused] is unused
WARNING: Parameter "smoother: type" Chebyshev   [unused] is unused
WARNING: Parameter "smoother: Chebyshev alpha" 10   [unused] is unused
WARNING: Parameter "smoother: ifpack overlap" 0   [unused] is unused
WARNING: Parameter "aggregation: threshold" 0.001   [unused] is unused
WARNING: Parameter "null space: type" pre-computed   [unused] is unused
WARNING: Parameter "null space: dimension" 2   [unused] is unused
WARNING: Parameter "null space: vectors" 0x7bb4970   [unused] is unused
WARNING: Parameter "coarse: list"    [unused] is unused
------------------------------------------------------------------------------

   Solving Stokes system... ML::ERROR:: -10, /admin/build/admin/rpms/stampede3/BUILD/trilinos-15.0.0/packages/ml/src/Utils/ml_MultiLevelPreconditioner.cpp, line 3030
---------------------------------------------------------
TimerOutput objects finalize timed values printed to the
screen by communicating over MPI in their destructors.
Since an exception is currently uncaught, this
synchronization (and subsequent output) will be skipped
to avoid a possible deadlock.
---------------------------------------------------------


----------------------------------------------------
Exception 'ExcTrilinosError(ierr)' on rank 0 on processing: 

--------------------------------------------------------
An error occurred in line <2065> of file </work2/10752/ghobson/stampede3/software_2.5/deal.II-v9.5.2/deal.II-v9.5.2/include/deal.II/lac/trilinos_precondition.h> in function
    virtual void dealii::TrilinosWrappers::PreconditionBase::vmult(MPI::Vector &, const MPI::Vector &) const
The violated condition was: 
    ierr == 0
Additional information: 
    An error with error number -10 occurred while calling a Trilinos
    function

Stacktrace:
-----------
#0  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: dealii::TrilinosWrappers::PreconditionBase::vmult(dealii::TrilinosWrappers::MPI::Vector&, dealii::TrilinosWrappers::MPI::Vector const&) const
#1  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: aspect::internal::BlockSchurPreconditioner<dealii::TrilinosWrappers::PreconditionAMG, dealii::TrilinosWrappers::PreconditionBase>::vmult(dealii::TrilinosWrappers::MPI::BlockVector&, dealii::TrilinosWrappers::MPI::BlockVector const&) const
#2  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: void dealii::SolverFGMRES<dealii::TrilinosWrappers::MPI::BlockVector>::solve<aspect::internal::StokesBlock, aspect::internal::BlockSchurPreconditioner<dealii::TrilinosWrappers::PreconditionAMG, dealii::TrilinosWrappers::PreconditionBase> >(aspect::internal::StokesBlock const&, dealii::TrilinosWrappers::MPI::BlockVector&, dealii::TrilinosWrappers::MPI::BlockVector const&, aspect::internal::BlockSchurPreconditioner<dealii::TrilinosWrappers::PreconditionAMG, dealii::TrilinosWrappers::PreconditionBase> const&)
#3  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: aspect::Simulator<2>::solve_stokes()
#4  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: aspect::Simulator<2>::assemble_and_solve_stokes(bool, double*)
#5  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: aspect::Simulator<2>::solve_single_advection_single_stokes()
#6  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: aspect::Simulator<2>::solve_timestep()
#7  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: aspect::Simulator<2>::run()
#8  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: void run_simulator<2>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool)
#9  /work2/10752/ghobson/stampede3/software_2.5/aspect/build_relwithdeb/aspect: main
--------------------------------------------------------

Based on the documentation, I would expect this parameter to just change what output is shown, not change the actual behavior of the preconditioner code. I’m puzzled. I was wondering if anyone else encounters this error when enabling this parameter?

I’d really appreciate any suggestions.

Thank you,

Best regards,
Gabrielle Hobson