00001 #ifndef WMAXWELL_H 00002 #define WMAXWELL_H 00003 00004 00005 #include "wspr.h" 00006 00007 00013 class WMaxwell { 00014 public: 00015 WMaxwell(); 00016 ~WMaxwell(); 00017 00018 void timeEvolutionTEModePEC(void); 00019 void timeEvolutionTEModePECComplete(void); 00020 00021 00022 void timeEvolutionTEModeUPML(void); 00023 void timeEvolutionTEModeUPMLSpr(void); 00024 00025 protected: 00026 void checkMeshParameters(WSpr &U,WSpr &V,WSpr &W); 00027 Array2D curl(WSpr & U, WSpr & V, int boundaryCondition); 00028 Array2D firstDerivative(WSpr & U, int dimension,int boundaryCondition ); 00029 Array2D defineSigma(int kind, int numberOfElements, double sigma0, double sigma1); 00030 00031 00032 }; 00033 00034 00035 #endif