/usr/include/deal.II/lac/petsc_full_matrix.h is in libdeal.ii-dev 8.1.0-4.
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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | // ---------------------------------------------------------------------
// $Id: petsc_full_matrix.h 30036 2013-07-18 16:55:32Z maier $
//
// Copyright (C) 2004 - 2013 by the deal.II authors
//
// This file is part of the deal.II library.
//
// The deal.II library is free software; you can use it, redistribute
// it, and/or modify it under the terms of the GNU Lesser General
// Public License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// The full text of the license can be found in the file LICENSE at
// the top level of the deal.II distribution.
//
// ---------------------------------------------------------------------
#ifndef __deal2__petsc_full_matrix_h
#define __deal2__petsc_full_matrix_h
#include <deal.II/base/config.h>
#ifdef DEAL_II_WITH_PETSC
# include <deal.II/lac/exceptions.h>
# include <deal.II/lac/petsc_matrix_base.h>
DEAL_II_NAMESPACE_OPEN
namespace PETScWrappers
{
/*! @addtogroup PETScWrappers
*@{
*/
/**
* Implementation of a sequential dense matrix class based on PETSC. All the
* functionality is actually in the base class, except for the calls to
* generate a sequential dense matrix. This is possible since PETSc only works
* on an abstract matrix type and internally distributes to functions that do
* the actual work depending on the actual matrix type (much like using
* virtual functions). Only the functions creating a matrix of specific type
* differ, and are implemented in this particular class.
*
* @ingroup Matrix1
* @author Wolfgang Bangerth, 2004
*/
class FullMatrix : public MatrixBase
{
public:
/**
* Declare type for container size.
*/
typedef types::global_dof_index size_type;
/**
* Create a full matrix of dimensions
* @p m times @p n.
*/
FullMatrix (const size_type m,
const size_type n);
/**
* Return a reference to the MPI
* communicator object in use with this
* matrix. Since this is a sequential
* matrix, it returns the MPI_COMM_SELF
* communicator.
*/
virtual const MPI_Comm &get_mpi_communicator () const;
};
/*@}*/
}
DEAL_II_NAMESPACE_CLOSE
#endif // DEAL_II_WITH_PETSC
/*---------------------------- petsc_full_matrix.h ---------------------------*/
#endif
/*---------------------------- petsc_full_matrix.h ---------------------------*/
|