Diffpack Documentation


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

GridFEInfo.h

Go to the documentation of this file.
00001 
00005 class GridFEInfo
00006 
00007 {
00008   friend class GridFE;
00009                                       
00010 public:
00011   GridFEInfo();
00012 
00013   void forceInit();   
00014 
00015   
00016 private:
00017   bool neighbor_is_initialized;
00018   bool neighbor_n2e_is_initialized;
00019   bool neighbor_n2n_is_initialized;
00020   bool neighbor_e2e_is_initialized;
00021   bool cover_is_initialized;
00022 public:
00023   NeighborFE neighbor;
00024 
00025   void initNeighbor (GridFE& grid);
00026   void initNeighbor (GridFE& grid, 
00027                      bool init_n2e, bool init_n2n, bool init_e2e,
00028                      bool special_e2e = false);
00029 
00030   
00031 public:
00032   Handle(BoundaryMesh) boundaries;
00033 
00034   void initBoundaries (GridFE& grid);
00035   void initBoundaries (GridFE& grid, const Ptv(int)& IJK);
00036 
00037   
00038 private:
00039   bool     first_order_elements_is_initialized;
00040   bool     first_order_elements;
00041   bool     onlyFirstOrderElmType  (GridFE& grid);
00042 public:
00043   bool     onlyFirstOrderElements (GridFE& grid);
00044 
00045   
00046 private:
00047   real     max_grid_spacing;     
00048 public:
00049   real getMaxSpacing (GridFE& grid);
00050   static void minmaxGridSpacing (GridFE& grid,
00051                                  Ptv(real)& hmin, Ptv(real)& hmax,
00052                                  FieldFunc* formula = NULL);
00053   static void maxSurroundingBox (GridFE& grid, Ptv(real)& length);
00054   static void computeBoxesAndCentroids(GridFE& grid, 
00055                                        MatSimple(real)& bounding_box,
00056                                        MatSimple(real)& centroids );
00057 
00058   real characteristicElmSize (GridFE& grid, bool dimless = true);
00059 
00060   
00061 private:
00062   VecSimple(bool) boundary_elm;
00063   bool boundary_elm_is_initialized;
00064   void initBoundaryElms (const GridFE& grid);
00065 public:
00066   bool isBoundaryElm (int element, const GridFE& grid) const;
00067 
00068   
00069 private:
00070   bool                 side_indicators_are_initialized;
00071   ArrayGenSimple(char) side_ind;
00072   VecSimple(int)       boundary_elms; 
00073   bool boSide (int elm, int side, int ind) const;  
00074 public:
00075   void initSideIndicators (const GridFE& grid);
00076 
00077 
00078   
00079 private:
00080   void initializeCover (const Ptv(real)& grid_Xmin, 
00081                         const Ptv(real)& grid_Xmax,
00082                         const Ptv(real)& cover_cell_delta);
00083 public:
00084   
00085   Handle(GridLattice)                cover;      
00086   
00087   
00088   ArrayGenSimple(SetDistinct(int))   connection; 
00089   ArrayGenSimple(VecSimple(int))     eff_connection;
00090   void provideCoverAndConnection (GridFE& grid, 
00091                                   GridLattice* cover_grid = NULL);
00092 };
00093 
00094 

Copyright © 2003 inuTech GmbH. All rights reserved.