Program Listing for File linear_algebra.h¶
↰ Return to documentation for file (include/immersx/algebra/linear_algebra.h)
// ---------------------------------------------------------------------
//
// Copyright (C) 2024 by Luca Heltai
//
// This file is part of the ImmersX application, based on
// the deal.II library.
//
// ---------------------------------------------------------------------
#ifndef immersx_linear_algebra_h
#define immersx_linear_algebra_h
#include <deal.II/lac/generic_linear_algebra.h>
#define FORCE_USE_OF_TRILINOS
namespace ImmersX
{
namespace ImmersXLA
{
#if defined(DEAL_II_WITH_PETSC) && !defined(DEAL_II_PETSC_WITH_COMPLEX) && \
!(defined(DEAL_II_WITH_TRILINOS) && defined(FORCE_USE_OF_TRILINOS))
using namespace dealii::LinearAlgebraPETSc;
# define IMMERSX_USE_PETSC_LA
#elif defined(DEAL_II_WITH_TRILINOS)
using namespace dealii::LinearAlgebraTrilinos;
using SolverDirect = dealii::TrilinosWrappers::SolverDirect;
#else
# error DEAL_II_WITH_PETSC or DEAL_II_WITH_TRILINOS required
#endif
} // namespace ImmersXLA
} // namespace ImmersX
#endif // immersx_linear_algebra_h