~njansson/dolfin/hpc

« back to all changes in this revision

Viewing changes to dolfin/mf/MassMatrix.h

  • Committer: Niclas Jansson
  • Date: 2011-06-10 14:33:43 UTC
  • Revision ID: njansson@csc.kth.se-20110610143343-d21p4am8rghiojfm
Added rudimentary header to binary files

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright (C) 2006 Anders Logg.
2
 
// Licensed under the GNU LGPL Version 2.1.
3
 
//
4
 
// First added:  2006-08-21
5
 
// Last changed: 2006-08-21
6
 
 
7
 
#ifndef __MASS_MATRIX_H
8
 
#define __MASS_MATRIX_H
9
 
 
10
 
#include <dolfin/common/types.h>
11
 
#include <dolfin/la/Matrix.h>
12
 
#include <dolfin/la/PETScMatrix.h>
13
 
#include <dolfin/la/uBlasSparseMatrix.h>
14
 
#include "MatrixFactory.h"
15
 
 
16
 
namespace dolfin
17
 
{
18
 
 
19
 
  class Mesh;
20
 
 
21
 
  /// This class represents the standard mass matrix on a given mesh,
22
 
  /// represented as a default DOLFIN matrix.
23
 
 
24
 
  class MassMatrix : public Matrix
25
 
  {
26
 
  public:
27
 
  
28
 
    /// Construct mass matrix on a given mesh
29
 
    MassMatrix(Mesh& mesh) : Matrix()
30
 
    {
31
 
      MatrixFactory::computeMassMatrix(*this, mesh);
32
 
    }
33
 
 
34
 
  };
35
 
 
36
 
#ifdef HAS_PETSC
37
 
 
38
 
  /// This class represents the standard mass matrix on a given mesh,
39
 
  /// represented as a DOLFIN PETSc matrix.
40
 
 
41
 
  class PETScMassMatrix : public PETScMatrix
42
 
  {
43
 
  public:
44
 
  
45
 
    /// Construct mass matrix on a given mesh
46
 
    PETScMassMatrix(Mesh& mesh) : PETScMatrix()
47
 
    {
48
 
      MatrixFactory::computeMassMatrix(*this, mesh);
49
 
    }
50
 
 
51
 
  };
52
 
 
53
 
#endif
54
 
 
55
 
  /// This class represents the standard mass matrix on a given mesh,
56
 
  /// represented as a sparse DOLFIN uBlas matrix.
57
 
 
58
 
  class uBlasMassMatrix : public uBlasSparseMatrix
59
 
  {
60
 
  public:
61
 
  
62
 
    /// Construct mass matrix on a given mesh
63
 
    uBlasMassMatrix(Mesh& mesh) : uBlasSparseMatrix()
64
 
    {
65
 
      MatrixFactory::computeMassMatrix(*this, mesh);
66
 
    }
67
 
 
68
 
  };
69
 
 
70
 
}
71
 
 
72
 
#endif