GEOSX
PetscInterface.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
7  * Copyright (c) 2018-2020 Total, S.A
8  * Copyright (c) 2019- GEOSX Contributors
9  * All rights reserved
10  *
11  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
12  * ------------------------------------------------------------------------------------------------------------
13  */
14 
19 #ifndef GEOSX_LINEARALGEBRA_INTERFACES_PETSCINTERFACE_HPP_
20 #define GEOSX_LINEARALGEBRA_INTERFACES_PETSCINTERFACE_HPP_
21 
25 #include "linearAlgebra/solvers/PreconditionerBase.hpp"
26 
27 #include <memory>
28 
29 namespace geosx
30 {
31 
37 {
46  static void initialize( int & argc, char * * & argv );
47 
53  static void finalize();
54 
60  static std::unique_ptr< PreconditionerBase< PetscInterface > >
62 
69  static std::unique_ptr< PreconditionerBase< PetscInterface > >
71  array1d< PetscVector > const & nearNullKernel );
72 
79 };
80 
81 } /* namespace geosx */
82 
83 #endif /*GEOSX_LINEARALGEBRA_INTERFACES_PETSCINTERFACE_HPP_*/
This class creates and provides basic support for PETSc solvers.
Definition: PetscSolver.hpp:35
Set of parameters for a linear solver or preconditioner.
static std::unique_ptr< PreconditionerBase< PetscInterface > > createPreconditioner(LinearSolverParameters params)
Create a PETSc-based preconditioner object.
This class creates and provides basic support for Vec vector object type used in PETSc.
Definition: PetscVector.hpp:44
static void finalize()
Finalizes the MPI environment for the Petsc library.
static void initialize(int &argc, char **&argv)
Initializes the MPI environment for the Petsc library.
This class holds aliases based on the Petsc library.
This class creates and provides basic support for the Mat matrix object type used in PETSc...
Definition: PetscMatrix.hpp:47
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...
Definition: Array.hpp:55