Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

MxFiniteElement.h

Go to the documentation of this file.
00001 
00005 class MxFiniteElement : public HandleId
00006 
00007 {
00008   VecSimplest(Handle(FiniteElement)) mfe;
00009   VecSimplest(int) distinct_mfe;           
00010   int itgrule_manager;                     
00011 
00012 
00013   void distinctObjects();
00014   void checkItgRuleManager (const char* routine_name);
00015 public:
00016   bool special_mapping;
00017   Handle(MxMapping) map;
00018 
00019   MxFiniteElement ();
00020   MxFiniteElement (GridFE& grid, int ncomponents); 
00021   MxFiniteElement (FieldsFE& all_unknowns);  
00022  ~MxFiniteElement () {}
00023 
00024   bool redim (GridFE& grid, int ncomponents);
00025   bool redim (FieldsFE& all_unknowns);
00026 
00027   const FiniteElement& operator () (int i) const { return mfe(i).getRef(); }
00028         FiniteElement& operator () (int i)       { return mfe(i).getRef(); }
00029   int size () const { return mfe.size(); }
00030   int getNoFiniteElementObjects() const { return mfe.size(); }
00031 
00032   void refill (int elm_no, FEM* solver = NULL);
00033   void setLocalEvalPts (ElmItgRules& elmitg);
00034   void refill (int elm_no, ElmItgRules& elmitg)
00035        { refill(elm_no); setLocalEvalPts(elmitg); }
00036   void refill4side (int side);
00037 
00038   int  getNoSpaceDim () const;
00039   int  getElmNo () const;
00040   int  getNoSides () const;
00041   int  getCurrentSide () const;
00042 
00043   void evalDerivatives (int i);           
00044   void setItgRuleManager (int component); 
00045   int  getItgRuleManager ()               { return itgrule_manager; }
00046   int  initNumItg ();                     
00047   bool moreItgPoints ();                  
00048   void update4nextItgPt ();               
00049   void update4nextItgPt (int itg_pt_no);  
00050   int  getNoItgPts () const;
00051   int  getCurrentItgPt () const;
00052   void getGlobalEvalPt (Ptv(real)& glob_pt) const;
00053   void setLocalEvalPt (const Ptv(real)& loc_pt);
00054 
00055   real N (int field_no, int basis_no) const;
00056   real dN (int field_no, int basis_no, int deriv_field) const;
00057   real detJ() const;
00058   real detJxW() const;
00059   real detSideJxW() const;
00060   bool boSide (int side, int indno) const;
00061   void getNormalVectorOnSide (Ptv(real)& vec) const;
00062   void errorMsg4detJlt0 (bool onoff);
00063   const Mat(real)& JacobiMatrix () const;
00064   const Mat(real)& invJacobiMatrix () const;
00065   const Mat(real)& geomtNodeCoor () const;
00066   void print (Os os, int degree_of_output = 1);
00067 };
00068 
00069 

Copyright © 2003 inuTech GmbH. All rights reserved.