/usr/include/trilinos/MueLu_CreateEpetraPreconditioner.hpp is in libtrilinos-muelu-dev 12.12.1-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #ifndef MUELU_CREATE_EPETRA_PRECONDITIONER_HPP
#define MUELU_CREATE_EPETRA_PRECONDITIONER_HPP
#include <Epetra_CrsMatrix.h>
#include <Epetra_MultiVector.h>
#include <Teuchos_RCP.hpp>
#include <MueLu.hpp>
#include <MueLu_EpetraOperator.hpp>
//! @file
//! @brief Various adapters that will create a MueLu preconditioner that is an Epetra_Operator.
#if defined(HAVE_MUELU_EPETRA)
namespace MueLu {
/*!
@brief Helper function to create a MueLu preconditioner that can be used by Epetra.
@ingroup MueLuAdapters
Given a EpetraCrs_Matrix, this function returns a constructed MueLu preconditioner.
@param[in] inA Matrix
@param[in] paramListIn Parameter list
@param[in] inCoords (optional) Coordinates. The first vector is x, the second (if necessary) y, the third (if necessary) z.
@param[in] inNullspace (optional) Near nullspace of the matrix.
*/
Teuchos::RCP<MueLu::EpetraOperator>
CreateEpetraPreconditioner(const Teuchos::RCP<Epetra_CrsMatrix>& inA,
// FIXME: why is it non-const
Teuchos::ParameterList& paramListIn,
const Teuchos::RCP<Epetra_MultiVector>& inCoords = Teuchos::null,
const Teuchos::RCP<Epetra_MultiVector>& inNullspace = Teuchos::null);
/*!
@brief Helper function to create a MueLu preconditioner that can be used by Epetra.
@ingroup MueLuAdapters
Given a Epetra_CrsMatrix, this function returns a constructed MueLu preconditioner.
@param[in] inA Matrix
@param[in] inCoords (optional) Coordinates. The first vector is x, the second (if necessary) y, the third (if necessary) z.
@param[in] inNullspace (optional) Near nullspace of the matrix.
*/
Teuchos::RCP<MueLu::EpetraOperator>
CreateEpetraPreconditioner(const Teuchos::RCP<Epetra_CrsMatrix> & inA,
const Teuchos::RCP<Epetra_MultiVector>& inCoords = Teuchos::null,
const Teuchos::RCP<Epetra_MultiVector>& inNullspace = Teuchos::null);
/*!
@brief Helper function to create a MueLu preconditioner that can be used by Epetra.
@ingroup MueLuAdapters
Given a Epetra_CrsMatrix, this function returns a constructed MueLu preconditioner.
@param[in] inA Matrix
@param[in] xmlFileName XML file containing MueLu options
@param[in] inCoords (optional) Coordinates. The first vector is x, the second (if necessary) y, the third (if necessary) z.
@param[in] inNullspace (optional) Near nullspace of the matrix.
*/
Teuchos::RCP<MueLu::EpetraOperator>
CreateEpetraPreconditioner(const Teuchos::RCP<Epetra_CrsMatrix> & A,
const std::string& xmlFileName,
const Teuchos::RCP<Epetra_MultiVector>& inCoords = Teuchos::null,
const Teuchos::RCP<Epetra_MultiVector>& inNullspace = Teuchos::null);
void ReuseEpetraPreconditioner(const Teuchos::RCP<Epetra_CrsMatrix>& inA, MueLu::EpetraOperator& Op);
} //namespace
#endif // HAVE_MUELU_SERIAL and HAVE_MUELU_EPETRA
#endif //ifndef MUELU_CREATE_EPETRA_PRECONDITIONER_HPP
|