Diffpack Documentation


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

FieldFV.h

Go to the documentation of this file.
00001 
00005 class FieldFV : public FieldWithPtValues
00006 
00007 {
00008   int                         nsd;
00009   Handle(GridFV)             mesh; 
00010   Handle(Vec(NUMT))  nodal_values; 
00011 
00012   bool reallocate
00013     (
00014      const GridFV&    grid,
00015      const Vec(NUMT)* coefficients =NULL,
00016      const char*      fieldname = NULL
00017     );
00018 
00019 
00020 public:
00021 
00022   FieldFV ();
00023 
00024   
00025   FieldFV (const GridFV& grid,
00026            const char* fieldname);
00027   FieldFV (const GridFV& grid, Vec(NUMT)& coefficients,
00028            const char* fieldname);
00029 
00030  ~FieldFV ();
00031 
00032   bool redim (const GridFV& grid, const char* fieldname);
00033                                        
00034 
00035   bool redim (const GridFV& grid, const Vec(NUMT)& coefficients,
00036               const char* fieldname);  
00037 
00038   bool redim (const FieldFV& f, const char* fieldname);
00039 
00040         GridFV& grid ()              { return mesh.getRef(); }
00041   const GridFV& grid () const        { return mesh.getRef(); }
00042         Vec(NUMT)& values  ()        { return nodal_values.getRef(); }
00043   const Vec(NUMT)& values  () const  { return nodal_values.getRef(); }
00044 
00045   void fieldFV2FieldFE (FieldFE& field_fe);
00046 
00047   void exchangeValues (FieldFV& f);  
00048 
00049           bool empty () const;
00050   virtual bool ok () const;
00051   virtual void minmax (NUMT& min, NUMT& max, GridWithPts* grid =NULL) const;
00052 
00053   virtual NUMT& valueDof (int dofno);
00054   virtual NUMT  valueDof (int dofno) const;
00055   virtual NUMT& valuePoint (int point_no);
00056   virtual NUMT  valuePoint (int point_no) const;
00057 
00058   virtual NUMT valuePt  (const Ptv(real)& x, real t = DUMMY);
00059   
00060 
00061   virtual Ptv(NUMT) derivativePt (const Ptv(real)& x, real t = DUMMY);
00062   
00063   
00064 
00065   void operator = (const FieldFV& field);
00066   void operator = (const FieldFunc& func);
00067   void fill (const FieldFunc& func, real time = DUMMY);
00068 
00069   virtual void print (Os os) const;
00070           void scan  (Is is);
00071 
00072   virtual void fill  (NUMT value);
00073   virtual void add   (NUMT value);
00074   virtual void mult  (NUMT value);
00075   virtual void apply (Func(NUMT) f);
00076   virtual void add   (Field& field, int power, NUMT front_factor);
00077 
00078   virtual Field&   scale ();
00079   virtual Field& unscale ();
00080 
00081   virtual void  unloadData (Os os) const;
00082   virtual void  loadData   (Is is);
00083   virtual void  attach (Grid& grid);
00084   virtual Grid* getGridBase();
00085 
00086   
00087 
00088   virtual int   getNoPoints () const  
00089     { return mesh->getNoDofs (); }
00090 
00091   virtual int   getNoValues () const  
00092     { return nodal_values->size(); }
00093 
00094   virtual Ptv(real) getPt (int point_no) const
00095   { return mesh->getDofCoor (point_no); }
00096 
00097   virtual GridWithPts& getGridWithPts ()
00098   { return mesh.getRef (); }
00099 
00100   virtual const GridWithPts& getGridWithPts () const
00101     { return mesh.getRef (); }
00102 
00103   virtual Vec(NUMT)& valuesVec ()
00104     { return nodal_values.getRef(); }
00105 
00106   virtual const Vec(NUMT)& valuesVec () const
00107     { return nodal_values.getRef(); }
00108 
00109           NUMT& valueNode (int i, real t = DUMMY);
00110   virtual NUMT  valueNode (int i, real t = DUMMY) const;   
00111 
00112   NUMT getVol2ElmValue (int volno);
00113 
00114   bool getBoVertexValue (int vertexno, NUMT &value);
00115 
00116 
00117   CLASS_INFO
00118 
00119   VIRTUAL_CAST(FieldFV)
00120 
00121   
00122 
00123   COPY_CONSTRUCTOR(FieldFV);
00124 };
00125 
00126 

Copyright © 2003 inuTech GmbH. All rights reserved.