00001 00005 class GridLattice2GridFV 00006 00007 { 00008 protected: 00009 00010 Handle(GridFV) grid_fv; 00011 Handle(GridLattice) grid_lattice; 00012 00013 MatSimple(int) dof2face_map; 00014 Ptv(int) mult_idx; 00015 00016 00017 00018 GridFVSizeInfo size_info; 00019 00020 void initSizeInfo (); 00021 void fillVolTypes (); 00022 void fillDofCoor (); 00023 void fillVertexCoor (); 00024 void buildAttributesOverVolumes (); 00025 void buildAttributesOverVolumes1D(const VecSimplest(Ptv(int))& node_offsets); 00026 void buildAttributesOverVolumes2D(const VecSimplest(Ptv(int))& node_offsets); 00027 void buildAttributesOverVolumes3D(const VecSimplest(Ptv(int))& node_offsets); 00028 void buildAttributesOverFaces (); 00029 00030 void dofOnBoundaryFace1D (int facedofno, int dofno, int i, bool top_edge); 00031 void dofOnBoundaryFace2D (int facedofno, int dofno, int i, int j, 00032 int constdir, bool top_edge); 00033 void dofOnBoundaryFace3D (int facedofno, int dofno, int i, int j, int k, 00034 int constdir, bool top_edge); 00035 void buildFace2Dof (); 00036 void buildFaceBoundaryIndicators (); 00037 00038 public: 00039 00040 GridLattice2GridFV () {} 00041 00042 ~GridLattice2GridFV () {} 00043 00044 void convert (GridLattice& gfe, GridFV& gfv); 00045 00046 }; 00047 00048