GEOSX
PetscSuperLU_Dist.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_PETSCSUPERLU_DIST_HPP_
20 #define GEOSX_LINEARALGEBRA_INTERFACES_PETSCSUPERLU_DIST_HPP_
21 
22 #include "common/DataTypes.hpp"
25 
26 #include <petsc.h>
27 
28 namespace geosx
29 {
30 
37 void PetscConvertToSuperMatrix( PetscMatrix const & matrix,
38  Mat & localMatrix,
39  SuperLU_Dist & SLUDData );
40 
45 void PetscDestroyAdditionalData( Mat & localMatrix );
46 
53 real64 PetscSuperLU_DistCond( PetscMatrix const & matrix, SuperLU_Dist & SLUDData );
54 
55 }
56 
57 #endif /*GEOSX_LINEARALGEBRA_INTERFACES_PETSCSUPERLU_DIST_HPP_*/
void PetscDestroyAdditionalData(Mat &localMatrix)
Destroys data needed to convert a matrix from Petsc to SuperLU_Dist format.
real64 PetscSuperLU_DistCond(PetscMatrix const &matrix, SuperLU_Dist &SLUDData)
Computes an accurate condition number (time consuming function!!!)
void PetscConvertToSuperMatrix(PetscMatrix const &matrix, Mat &localMatrix, SuperLU_Dist &SLUDData)
Converts a matrix from Petsc to SuperLU_Dist format.
double real64
64-bit floating point type.
Definition: DataTypes.hpp:136