00001 /* @HEADER@ */ 00002 // 00003 /* @HEADER@ */ 00004 00005 00006 #ifndef MATRIXLAPLACIAN1D_HPP 00007 #define MATRIXLAPLACIAN1D_HPP 00008 00009 #include "PlayaOperatorBuilder.hpp" 00010 00011 using namespace Playa; 00012 using namespace Teuchos; 00013 00014 00015 namespace Playa 00016 { 00017 00018 /** */ 00019 class MatrixLaplacian1D : public OperatorBuilder<double> 00020 { 00021 public: 00022 00023 /** */ 00024 MatrixLaplacian1D(int nLocal, const VectorType<double>& vecType); 00025 00026 /** */ 00027 LinearOperator<double> getOp() const {return op_;} 00028 00029 private: 00030 /** */ 00031 void init(int nLocal, const VectorType<double>& vecType); 00032 00033 LinearOperator<double> op_; 00034 }; 00035 00036 /** */ 00037 class MassMatrix1D : public OperatorBuilder<double> 00038 { 00039 public: 00040 00041 /** */ 00042 MassMatrix1D(int nLocal, const VectorType<double>& vecType); 00043 00044 /** */ 00045 LinearOperator<double> getOp() const {return op_;} 00046 00047 private: 00048 /** */ 00049 void init(int nLocal, const VectorType<double>& vecType); 00050 00051 LinearOperator<double> op_; 00052 }; 00053 00054 } 00055 00056 #endif