00001 00029 // Sriramajayam 00030 00031 #ifndef DIAGONALMASSMATRIXFORSW 00032 #define DIAGONALMASSMATRIXFORSW 00033 00034 #include "AuxDefs.h" 00035 #include "ElementalOperation.h" 00036 00038 00060 class DiagonalMassForSW: public BaseResidue { 00061 public: 00062 00067 inline DiagonalMassForSW (const Element& IElm, const SimpleMaterial &SM, const std::vector<size_t>& fieldsUsed) 00068 : BaseResidue (IElm, SM, fieldsUsed) { 00069 assert (fieldsUsed.size() > 0 && fieldsUsed.size () <= 3); 00070 } 00071 00073 virtual ~DiagonalMassForSW() { 00074 } 00075 00078 inline DiagonalMassForSW(const DiagonalMassForSW & DMM) : BaseResidue (DMM) { 00079 00080 } 00081 00083 virtual DiagonalMassForSW * clone() const { 00084 return new DiagonalMassForSW(*this); 00085 } 00086 00087 00091 bool getVal(const MatDouble &argval, MatDouble& funcval) const; 00092 00093 }; 00094 00095 #endif