Hi all,

So I have a working 3D model with a free surface on top and a visco plastic material model using either the ‘single advection, iterated stokes’ or ‘iterated advection and stokes’ (both case use block AMG). Now I want to run parameter test faster so I tried the Block GMG.

My solver scheme looks like this:

```
set Nonlinear solver scheme = single Advection, iterated defect correction Stokes
set Max nonlinear iterations = 20
set Nonlinear solver tolerance = 1e-5
subsection Solver parameters
subsection Stokes solver parameters
set Stokes solver type = block GMG
set Number of cheap Stokes solver steps = 2000
set Linear solver tolerance = 1e-4
set GMRES solver restart length = 150
set Use full A block as preconditioner = true
end
subsection Newton solver parameters
set Maximum linear Stokes solver tolerance = 1e-4
set Use Eisenstat Walker method for Picard iterations = true
end
subsection Advection solver parameters
set GMRES solver restart length = 100
end
end
```

However, this model crashed at the beginning and the error message seems to be saying that it is missing the LAPACK library.

```
Exception 'ExcNeedsLAPACK()' on rank 182 on processing:
--------------------------------------------------------
An error occurred in line <256> of file </work/n03/n03/mazq/modules/candi/tmp/unpack/deal.II-v9.4.2/source/lac/tridiagonal_matrix.cc> in function
void dealii::TridiagonalMatrix<number>::compute_eigenvalues() [with number = double]
The violated condition was:
false
Additional information:
You are attempting to use functionality that is only available if
deal.II was configured to use LAPACK, but cmake did not find a valid
LAPACK library.
Stacktrace:
-----------
#0 /work/n03/n03/mazq/modules/candi/deal.II-v9.4.2/lib/libdeal_II.so.9.4.2: dealii::TridiagonalMatrix<double>::compute_eigenvalues()
#1 /work/n03/n03/mazq/modules/aspect/release/aspect: dealii::SolverCG<dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host> >::compute_eigs_and_cond(std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, boost::signals2::signal<void (std::vector<double, std::allocator<double> > const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (std::vector<double, std::allocator<double> > const&)>, boost::function<void (boost::signals2::connection const&, std::vector<double, std::allocator<double> > const&)>, boost::signals2::mutex> const&, boost::signals2::signal<void (double), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (double)>, boost::function<void (boost::signals2::connection const&, double)>, boost::signals2::mutex> const&)
#2 /work/n03/n03/mazq/modules/aspect/release/aspect: void dealii::SolverCG<dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host> >::solve<aspect::MatrixFreeStokesOperators::ABlockOperator<3, 2, double>, dealii::DiagonalMatrix<dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host> > >(aspect::MatrixFreeStokesOperators::ABlockOperator<3, 2, double> const&, dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host>
--------------------------------------------------------
An error occurred in line <256> of file </work/n03/n03/mazq/modules/candi/tmp/unpack/deal.II-v9.4.2/source/lac/tridiagonal_matrix.cc> in function
void dealii::TridiagonalMatrix<number>::compute_eigenvalues() [with number = double]
The violated condition was:
false
Additional information:
You are attempting to use functionality that is only available if
deal.II was configured to use LAPACK, but cmake did not find a valid
LAPACK library.
```

I would greatly appreciate it if you could help me with this. Do I need to install the LAPACK library and then rebuild deal.II on archer2 where I run my models?

Cheers,

ziqi