Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

app-kersten/Eddy2D_H_eField.hh
Go to the documentation of this file.
00001 /* Element function to get electric field from magnetic field
00002    in translation-symmetric Eddy-current model
00003 
00004    Kersten Schmidt, 2005
00005 */
00006 
00007 #ifndef Eddy2D_H_eField_hh
00008 #define Eddy2D_H_eField_hh
00009 
00010 #include "hp2D/function.hh"
00011 #include "space/formula.hh"
00012 #include "basics.hh"
00013 #include "toolbox.hh"
00014 
00015 namespace hp2D {
00016 
00017   using concepts::Real;
00018   using concepts::Cmplx;
00019 
00020   class Eddy2D_eField : public hp2D::ElementFunction<2,Cmplx> {
00021   public:
00022     Eddy2D_eField(const concepts::PiecewiseFormulaBase<Real>& Sigma_Inv);
00023     virtual ~Eddy2D_eField() {}
00024     virtual Eddy2D_eField* clone() const { 
00025       return new Eddy2D_eField(*Sigma_Inv_); }
00026   protected:
00027     virtual std::ostream& info(std::ostream& os) const;
00028   private:
00029     virtual void compute_(const Quad<>& elm,
00030         const concepts::Array<Cmplx>& coeff,
00031         concepts::Array<Cmplx>& val,
00032         const uint i[2]) const;
00033     virtual void compute_(const Quad<>& elm, const uint j[2],
00034         concepts::Array<Cmplx>& val,
00035         const uint i[2]) const;
00036     virtual void compute_(const Quad<>& elm,
00037         const concepts::Array<Cmplx>& coeff,
00038         concepts::Array<Cmplx>& val,
00039         const Real2d& p, const Real t = 0.0) const;
00041     void convert_(const Quad<>& elm, concepts::Array<Cmplx>& val,
00042       const Real2d& p, const Real t = 0.0) const;
00044     std::auto_ptr<concepts::PiecewiseFormulaBase<Real> > Sigma_Inv_;
00046     PlCurl<Cmplx> plcurl_;
00047   };
00048 
00049 } // namespace hp2D
00050 
00051 #endif // Eddy2D_H_eField_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)