MFEM v2.0
sparsesmoothers.hpp
Go to the documentation of this file.
00001 // Copyright (c) 2010, Lawrence Livermore National Security, LLC. Produced at
00002 // the Lawrence Livermore National Laboratory. LLNL-CODE-443211. All Rights
00003 // reserved. See file COPYRIGHT for details.
00004 //
00005 // This file is part of the MFEM library. For more information and source code
00006 // availability see http://mfem.googlecode.com.
00007 //
00008 // MFEM is free software; you can redistribute it and/or modify it under the
00009 // terms of the GNU Lesser General Public License (as published by the Free
00010 // Software Foundation) version 2.1 dated February 1999.
00011 
00012 #ifndef MFEM_SPARSEMATSMOOTHERS
00013 #define MFEM_SPARSEMATSMOOTHERS
00014 
00016 class GSSmoother : public MatrixInverse
00017 {
00018 public:
00019 
00021    GSSmoother(const SparseMatrix &a);
00022 
00024    virtual void Mult(const Vector &x, Vector &y) const;
00025 
00027    virtual ~GSSmoother();
00028 };
00029 
00031 class DSmoother : public MatrixInverse
00032 {
00033 private:
00035    double scale;
00036 
00037 public:
00038 
00040    DSmoother(const SparseMatrix &a, double scale = 1.);
00041 
00043    virtual void Mult(const Vector &x, Vector &y) const;
00044 
00046    virtual ~DSmoother();
00047 };
00048 
00049 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines