CpGrid.hpp
Go to the documentation of this file.
43#include <opm/grid/utility/platform_dependent/disable_warnings.h> // Not really needed it seems, but alas.
50#include <opm/grid/utility/platform_dependent/reenable_warnings.h> // Not really needed it seems, but alas.
278 void processEclipseFormat(const grdecl& input_data, bool remove_ij_boundary, bool turn_normals = false);
361 typename Traits::template Codim<codim>::template Partition<PiType>::LevelIterator lbegin (int level) const;
364 typename Traits::template Codim<codim>::template Partition<PiType>::LevelIterator lend (int level) const;
375 typename Traits::template Codim<codim>::template Partition<PiType>::LeafIterator leafbegin() const;
378 typename Traits::template Codim<codim>::template Partition<PiType>::LeafIterator leafend() const;
455 // @brief Return parent (coarse) intersection (face) of a refined face on the leaf grid view, whose neighboring cells
458 Dune::cpgrid::Intersection getParentIntersectionFromLgrBoundaryFace(const Dune::cpgrid::Intersection& intersection) const;
586 std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrCell_to_refinedLevelAdRefinedCell,
587 std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCell_to_elemLgrAndElemLgrCell,
590 std::vector<std::vector<std::tuple<int,std::vector<int>>>>& preAdapt_parent_to_children_cells_vec,
623 std::vector<int>> defineChildToParentAndIdxInParentCell( const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCell_to_elemLgrAndElemLgrCell,
655 defineLevelToLeafAndLeafToLevelCells(const std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrCell_to_refinedLevelAndRefinedCell,
656 const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCell_to_elemLgrAndElemLgrCell,
688 void identifyRefinedCornersPerLevel(std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrCorner_to_refinedLevelAndRefinedCorner,
689 std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCorner_to_elemLgrAndElemLgrCorner,
695 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
715 void identifyRefinedFacesPerLevel(std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrFace_to_refinedLevelAndRefinedFace,
716 std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedFace_to_elemLgrAndElemLgrFace,
720 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
743 void identifyLeafGridCorners(std::map<std::array<int,2>,int>& elemLgrAndElemLgrCorner_to_adaptedCorner,
750 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
770 void identifyLeafGridFaces(std::map<std::array<int,2>,int>& elemLgrAndElemLgrFace_to_adaptedFace,
775 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
779 void populateRefinedCorners(std::vector<Dune::cpgrid::EntityVariableBase<cpgrid::Geometry<0,3>>>& refined_corners_vec,
783 const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCorner_to_elemLgrAndElemLgrCorner) const;
786 void populateRefinedFaces(std::vector<Dune::cpgrid::EntityVariableBase<cpgrid::Geometry<2,3>>>& refined_faces_vec,
788 std::vector<Dune::cpgrid::EntityVariableBase<Dune::FieldVector<double,3>>>& mutable_refine_face_normals_vec,
791 const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedFace_to_elemLgrAndElemLgrFace,
792 const std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrCorner_to_refinedLevelAndRefinedCorner,
793 const std::map<std::array<int,2>, std::array<int,2>>& vanishedRefinedCorner_to_itsLastAppearance,
800 void populateRefinedCells(std::vector<Dune::cpgrid::EntityVariableBase<cpgrid::Geometry<3,3>>>& refined_cells_vec,
806 const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCell_to_elemLgrAndElemLgrCell,
807 const std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrFace_to_refinedLevelAndRefinedFace,
808 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
810 const std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrCorner_to_refinedLevelAndRefinedCorner,
811 const std::map<std::array<int,2>, std::array<int,2>>& vanishedRefinedCorner_to_itsLastAppearance,
826 std::vector<Dune::cpgrid::EntityVariableBase<Dune::FieldVector<double,3>>>& mutable_refine_face_normals_vec,
837 const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCell_to_elemLgrAndElemLgrCell,
838 const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedFace_to_elemLgrAndElemLgrFace,
839 const std::map<std::array<int,2>,std::array<int,2>>& refinedLevelAndRefinedCorner_to_elemLgrAndElemLgrCorner,
840 const std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrCorner_to_refinedLevelAndRefinedCorner,
841 const std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrFace_to_refinedLevelAndRefinedFace,
842 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
844 const std::map<std::array<int,2>, std::array<int,2>>& vanishedRefinedCorner_to_itsLastAppearance,
853 void populateLeafGridCorners(Dune::cpgrid::EntityVariableBase<cpgrid::Geometry<0,3>>& adapted_corners,
856 const std::unordered_map<int,std::array<int,2>>& adaptedCorner_to_elemLgrAndElemLgrCorner) const;
859 void populateLeafGridFaces(Dune::cpgrid::EntityVariableBase<cpgrid::Geometry<2,3>>& adapted_faces,
866 const std::map<std::array<int,2>, std::array<int,2>>& vanishedRefinedCorner_to_itsLastAppearance,
875 void populateLeafGridCells(Dune::cpgrid::EntityVariableBase<cpgrid::Geometry<3,3>>& adapted_cells,
882 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
885 const std::map<std::array<int,2>, std::array<int,2>>& vanishedRefinedCorner_to_itsLastAppearance,
914 const std::vector<std::vector<std::pair<int, std::vector<int>>>>& faceInMarkedElemAndRefinedFaces,
917 const std::map<std::array<int,2>, std::array<int,2>>& vanishedRefinedCorner_to_itsLastAppearance,
925 void updateCornerHistoryLevels(const std::vector<std::vector<std::array<int,2>>>& cornerInMarkedElemWithEquivRefinedCorner,
926 const std::map<std::array<int,2>,std::array<int,2>>& elemLgrAndElemLgrCorner_to_refinedLevelAndRefinedCorner,
965 void computeGlobalCellLgr(const int& level, const std::array<int,3>& startIJK, std::vector<int>& global_cell_lgr);
981 std::array<int,3> getRefinedCornerIJK(const std::array<int,3>& cells_per_dim, int cornerIdxInLgr) const;
1004 bool isRefinedCornerInInteriorLgr(const std::array<int,3>& cells_per_dim, int cornerIdxInLgr) const;
1019 bool isRefinedNewBornCornerOnLgrBoundary(const std::array<int,3>& cells_per_dim, int cornerIdxInLgr) const;
1026 bool newRefinedCornerLiesOnEdge(const std::array<int,3>& cells_per_dim, int cornerIdxInLgr) const;
1041 int getParentFaceWhereNewRefinedCornerLiesOn(const std::array<int,3>& cells_per_dim, int cornerIdxInLgr, int elemLgr) const;
1048 std::array<int,2> getParentFacesAssocWithNewRefinedCornLyingOnEdge(const std::array<int,3>& cells_per_dim, int cornerIdxInLgr, int elemLgr) const;
1057 int replaceLgr1CornerIdxByLgr2CornerIdx(const std::array<int,3>& cells_per_dim_lgr1, int cornerIdxLgr1, const std::array<int,3>& cells_per_dim_lgr2) const;
1066 int replaceLgr1CornerIdxByLgr2CornerIdx(const std::array<int,3>& cells_per_dim_lgr1, int cornerIdxLgr1, int elemLgr1, int parentFaceLastAppearanceIdx,
1076 int replaceLgr1FaceIdxByLgr2FaceIdx(const std::array<int,3>& cells_per_dim_lgr1, int faceIdxInLgr1,
1087 int getParentFaceWhereNewRefinedFaceLiesOn(const std::array<int,3>& cells_per_dim, int faceIdxInLgr,
1172 void assignCellIdsAndCandidatePointIds( std::vector<std::vector<int>>& localToGlobal_cells_per_level,
1210 std::vector<std::unordered_map<std::size_t, std::size_t>> mapLocalCartesianIndexSetsToLeafIndexSet() const;
1336 return scatterGrid(defaultTransEdgeWgt, /* ownersFirst = */ false, wells, possibleFutureConnections,
1386 return scatterGrid(method, ownersFirst, wells, possibleFutureConnections, /* serialPartitioning = */ false,
1427 auto ret = loadBalance(wells, possibleFutureConnections, transmissibilities, overlapLayers, partitionMethod, level);
1477 bool addCornerCells=false, int overlapLayers=1, int partitionMethod = Dune::PartitionMethod::zoltanGoG,
1481 auto ret = scatterGrid(method, ownersFirst, wells, possibleFutureConnections, serialPartitioning, transmissibilities,
1541 decltype(data.fixedSize(0,0)) overlapLayers=1, int partitionMethod = Dune::PartitionMethod::zoltan)
1628 void communicate (DataHandle& data, InterfaceType iftype, CommunicationDirection dir, int /*level*/) const
1737 const Vector faceCenterEcl(int cell_index, int face, const Dune::cpgrid::Intersection& intersection) const;
2072 void CpGrid::communicate (DataHandle& data, InterfaceType iftype, CommunicationDirection dir) const
2084 distributed_data_[0]->scatterData(handle, data_[0].get(), distributed_data_[0].get(), cellScatterGatherInterface(),
An iterator over the centroids of the geometry of the entities. Definition: CpGrid.hpp:1776 CentroidIterator(GeometryIterator iter) Constructs a new iterator from an iterator over the geometries. Definition: CpGrid.hpp:1783 const FieldVector< double, 3 > & dereference() const Definition: CpGrid.hpp:1787 int distanceTo(const CentroidIterator &o) Definition: CpGrid.hpp:1806 std::vector< cpgrid::Geometry< 3-codim, 3 > >::const_iterator GeometryIterator The type of the iterator over the codim geometries. Definition: CpGrid.hpp:1780 bool equals(const CentroidIterator &o) const Definition: CpGrid.hpp:1810 const FieldVector< double, 3 > & elementAt(int n) Definition: CpGrid.hpp:1795 std::pair< bool, std::vector< std::pair< std::string, bool > > > loadBalance(DataHandle &data, const std::vector< int > &parts, const std::vector< cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections={}, bool ownersFirst=false, bool addCornerCells=false, int overlapLayers=1) Distributes this grid over the available nodes in a distributed machine. Definition: CpGrid.hpp:1510 std::vector< std::unordered_map< std::size_t, std::size_t > > mapLocalCartesianIndexSetsToLeafIndexSet() const Compute for each level grid, a map from the global_cell_[ cell index in level grid ] to the leaf inde... CentroidIterator< 0 > beginCellCentroids() const Get an iterator over the cell centroids positioned at the first one. const Vector faceCenterEcl(int cell_index, int face, const Dune::cpgrid::Intersection &intersection) const int numFaceVertices(int face) const unsigned int numBoundarySegments() const returns the number of boundary segments within the macro grid CpGridFamily GridFamily Family typedef, why is this not defined by Grid<>? Definition: CpGrid.hpp:213 Traits::template Codim< codim >::LevelIterator lbegin(int level) const Iterator to first entity of given codim on level. void gatherData(DataHandle &handle) const Moves data from the distributed view to the global (all data on process) view. Definition: CpGrid.hpp:2093 CentroidIterator< 1 > beginFaceCentroids() const Get an iterator over the face centroids positioned at the first one. std::vector< std::array< int, 2 > > mapLeafIndexSetToLocalCartesianIndexSets() const Reverse map: from leaf index cell to { level, local/level Cartesian index of the cell }. const std::vector< std::shared_ptr< Dune::cpgrid::CpGridData > > & currentData() const Returns either data_ or distributed_data_(if non empty). int size(GeometryType type) const number of leaf entities per geometry type in this process std::pair< bool, std::vector< std::pair< std::string, bool > > > loadBalance(DataHandle &data, EdgeWeightMethod method, const std::vector< cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections, bool serialPartitioning, const double *transmissibilities=nullptr, bool ownersFirst=false, bool addCornerCells=false, int overlapLayers=1, int partitionMethod=Dune::PartitionMethod::zoltanGoG, double imbalanceTol=1.1, bool allowDistributedWells=false) Distributes this grid over the available nodes in a distributed machine. Definition: CpGrid.hpp:1472 cpgrid::CpGridDataTraits::ParallelIndexSet ParallelIndexSet The type of the parallel index set. Definition: CpGrid.hpp:1915 int faceTag(const Cell2FacesRowIterator &cell_face) const Get the cartesian tag associated with a face tag. Definition: CpGrid.hpp:2108 const std::vector< double > & zcornData() const ParallelIndexSet & getCellIndexSet() void setUniqueBoundaryIds(bool uids) std::array< double, 3 > getEclCentroid(const cpgrid::Entity< 0 > &elem) const std::pair< bool, std::vector< std::pair< std::string, bool > > > loadBalance(EdgeWeightMethod method, const std::vector< cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections={}, const double *transmissibilities=nullptr, bool ownersFirst=false, bool addCornerCells=false, int overlapLayers=1, int partitionMethod=Dune::PartitionMethod::zoltanGoG, double imbalanceTol=1.1, int level=-1) Distributes this grid over the available nodes in a distributed machine. Definition: CpGrid.hpp:1378 void createCartesian(const std::array< int, 3 > &dims, const std::array< double, 3 > &cellsize, const std::array< int, 3 > &shift={0, 0, 0}) Traits::template Codim< codim >::LeafIterator leafend() const one past the end of the sequence of leaf entities void processEclipseFormat(const grdecl &input_data, bool remove_ij_boundary, bool turn_normals=false) cpgrid::CpGridDataTraits::InterfaceMap InterfaceMap The type of the map describing communication interfaces. Definition: CpGrid.hpp:1870 std::pair< bool, std::vector< std::pair< std::string, bool > > > loadBalance(DataHandle &data, const std::vector< cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections={}, const double *transmissibilities=nullptr, int overlapLayers=1, int partitionMethod=1, int level=-1) Distributes this grid and data over the available nodes in a distributed machine. Definition: CpGrid.hpp:1421 int replaceLgr1CornerIdxByLgr2CornerIdx(const std::array< int, 3 > &cells_per_dim_lgr1, int cornerIdxLgr1, const std::array< int, 3 > &cells_per_dim_lgr2) const A refined corner appears in two single-cell-refinements. Given the corner index in the first single-c... Traits::template Codim< codim >::LevelIterator lend(int level) const one past the end on this level const std::vector< int > & globalCell() const bool loadBalanceSerial(int overlapLayers=1, int partitionMethod=Dune::PartitionMethod::zoltan, int edgeWeightMethod=Dune::EdgeWeightMethod::defaultTransEdgeWgt, double imbalanceTol=1.1, int level=-1) Distributes this grid over the available nodes in a distributed machine. Definition: CpGrid.hpp:1277 bool loadBalance(int overlapLayers=1, int partitionMethod=Dune::PartitionMethod::zoltan, double imbalanceTol=1.1, int level=-1) Distributes this grid over the available nodes in a distributed machine. Definition: CpGrid.hpp:1244 int maxLevel() const Return maximum level defined in this grid. Levels are 0 and 1, maxlevel = 1 (not counting leafview),... const CpGridTraits::Communication & comm() const Get the collective communication object. const std::vector< Dune::GeometryType > & geomTypes(const int) const void postAdapt() Clean up refinement markers - set every element to the mark 0 which represents 'doing nothing'. const Vector & vertexPosition(int vertex) const Get the Position of a vertex. const std::array< int, 3 > & logicalCartesianSize() const int faceVertex(int face, int local_index) const Get the index identifying a vertex of a face. const Vector & faceCentroid(int face) const Get the coordinates of the center of a face. unsigned int ghostSize(int, int) const Size of the ghost cell layer on a given level. cpgrid::CpGridDataTraits::RemoteIndices RemoteIndices The type of the remote indices information. Definition: CpGrid.hpp:1917 const InterfaceMap & cellScatterGatherInterface() const Get an interface for gathering/scattering data attached to cells with communication. Dune::cpgrid::Intersection getParentIntersectionFromLgrBoundaryFace(const Dune::cpgrid::Intersection &intersection) const void getIJK(const int c, std::array< int, 3 > &ijk) const Extract Cartesian index triplet (i,j,k) of an active cell. void syncDistributedGlobalCellIds() Synchronizes cell global ids across processes after load balancing. bool uniqueBoundaryIds() const int faceCell(int face, int local_index, int level=-1) const Get the index identifying a cell attached to a face. void addLgrsUpdateLeafView(const std::vector< std::array< int, 3 > > &cells_per_dim_vec, const std::vector< std::array< int, 3 > > &startIJK_vec, const std::vector< std::array< int, 3 > > &endIJK_vec, const std::vector< std::string > &lgr_name_vec) Create a grid out of a coarse one and (at most) 2 refinements(LGRs) of selected block-shaped disjoint... Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lend(int level) const one past the end on this level void setPartitioningParams(const std::map< std::string, std::string > ¶ms) int replaceLgr1FaceIdxByLgr2FaceIdx(const std::array< int, 3 > &cells_per_dim_lgr1, int faceIdxInLgr1, const std::shared_ptr< cpgrid::CpGridData > &elemLgr1_ptr, const std::array< int, 3 > &cells_per_dim_lgr2) const A new refined face lays on the boudndary of a single-cell-refinement appears in at most two single-ce... CpGrid(MPIHelper::MPICommunicator comm) const ParallelIndexSet & getCellIndexSet() const cpgrid::Entity< codim > entity(const cpgrid::Entity< codim > &seed) const given an EntitySeed (or EntityPointer) return an entity object std::vector< std::shared_ptr< Dune::cpgrid::CpGridData > > & currentData() Returns either data_ or distributed_data_(if non empty). int boundaryId(int face) const Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafbegin() const Iterator to first leaf entity of given codim and PartitionIteratorType. bool mark(int refCount, const cpgrid::Entity< 0 > &element) Mark entity for refinement (or coarsening). bool loadBalance(DataHandle &data, decltype(data.fixedSize(0, 0)) overlapLayers=1, int partitionMethod=Dune::PartitionMethod::zoltan) Distributes this grid and data over the available nodes in a distributed machine. Definition: CpGrid.hpp:1540 unsigned int overlapSize(int, int) const Size of the overlap on a given level. int replaceLgr1CornerIdxByLgr2CornerIdx(const std::array< int, 3 > &cells_per_dim_lgr1, int cornerIdxLgr1, int elemLgr1, int parentFaceLastAppearanceIdx, const std::array< int, 3 > &cells_per_dim_lgr2) const A new refined corner lays on an edge and appears in at least two single-cell-refinements.... unsigned int ghostSize(int) const Size of the ghost cell layer on the leaf level. std::pair< bool, std::vector< std::pair< std::string, bool > > > loadBalance(const std::vector< cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections={}, const double *transmissibilities=nullptr, int overlapLayers=1, int partitionMethod=Dune::PartitionMethod::zoltanGoG, int level=-1) Distributes this grid over the available nodes in a distributed machine. Definition: CpGrid.hpp:1330 friend cpgrid::Entity< dim > createEntity(const CpGrid &, int, bool) const Vector & cellCentroid(int cell) const Get the coordinates of the center of a cell. Traits::template Codim< codim >::LeafIterator leafbegin() const Iterator to first leaf entity of given codim. Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lbegin(int level) const Iterator to first entity of given codim on level and PartitionIteratorType. const std::map< std::string, int > & getLgrNameToLevel() const const std::vector< int > & sortedNumAquiferCells() const Get sorted active cell indices of numerical aquifer. bool adapt() Triggers the grid refinement process. Returns true if the grid has changed, false otherwise. const RemoteIndices & getCellRemoteIndices() const const Vector faceAreaNormalEcl(int face) const bool preAdapt() Set mightVanish flags for elements that will be refined in the next adapt() call Need to be called af... int getMark(const cpgrid::Entity< 0 > &element) const Return refinement mark for entity. bool loadBalance(DataHandle &data, const std::vector< int > &parts, bool ownersFirst=false, bool addCornerCells=false, int overlapLayers=1) Distributes this grid and data over the available nodes in a distributed machine. Definition: CpGrid.hpp:1590 const Traits::LeafIndexSet & leafIndexSet() const Access to the LeafIndexSet. const cpgrid::OrientedEntityTable< 0, 1 >::row_type cellFaceRow(int cell) const Get a list of indices identifying all faces of a cell. bool loadBalance(const std::vector< int > &parts, bool ownersFirst=false, bool addCornerCells=false, int overlapLayers=1) Distributes this grid over the available nodes in a distributed machine. Definition: CpGrid.hpp:1564 std::vector< int > zoltanPartitionWithoutScatter(const std::vector< cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections, const double *transmissibilities, const int numParts, const double imbalanceTol) const Partitions the grid using Zoltan without decomposing and distributing it among processes. int size(int level, GeometryType type) const number of entities per level and geometry type in this process std::array< double, 3 > getEclCentroid(const int &idx) const double cellCenterDepth(int cell_index) const Get vertical position of cell center ("zcorn" average). void globalRefine(int refCount) Refine the grid refCount times using the default refinement rule. This behaves like marking all eleme... bool adapt(const std::vector< std::array< int, 3 > > &cells_per_dim_vec, const std::vector< int > &assignRefinedLevel, const std::vector< std::string > &lgr_name_vec, const std::vector< std::array< int, 3 > > &startIJK_vec=std::vector< std::array< int, 3 > >{}, const std::vector< std::array< int, 3 > > &endIJK_vec=std::vector< std::array< int, 3 > >{}) Triggers the grid refinement process, allowing to select diffrent refined level grids. void communicate(DataHandle &data, InterfaceType iftype, CommunicationDirection dir, int) const communicate objects for all codims on a given level Definition: CpGrid.hpp:1628 const Traits::LevelIndexSet & levelIndexSet(int level) const Access to the LevelIndexSets. RemoteIndices & getCellRemoteIndices() cpgrid::CpGridDataTraits::CommunicationType CommunicationType The type of the owner-overlap-copy communication. Definition: CpGrid.hpp:1920 const InterfaceMap & pointScatterGatherInterface() const Get an interface for gathering/scattering data attached to points with communication. int cellFace(int cell, int local_index, int level=-1) const Get a specific face of a cell. Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafend() const one past the end of the sequence of leaf entities int numCellFaces(int cell, int level=-1) const Get the number of faces of a cell. const CommunicationType & cellCommunication() const Get the owner-overlap-copy communication for cells. void scatterData(DataHandle &handle) const Moves data from the global (all data on process) view to the distributed view. Definition: CpGrid.hpp:2079 Struct that hods all the data needed to represent a Cpgrid. Definition: CpGridData.hpp:138 void communicate(DataHandle &data, InterfaceType iftype, CommunicationDirection dir) communicate objects for all codims on a given level Definition: CpGridData.hpp:1028 Definition: DefaultGeometryPolicy.hpp:53 Represents an entity of a given codim, with positive or negative orientation. Definition: EntityRep.hpp:99 Base class for EntityVariable and SignedEntityVariable. Forwards a restricted subset of the std::vect... Definition: EntityRep.hpp:219 Definition: Geometry.hpp:75 Only needs to provide interface for doing nothing. Definition: Iterators.hpp:108 Definition: Indexsets.hpp:56 Definition: Intersection.hpp:278 Definition: Intersection.hpp:66 Definition: Iterators.hpp:60 A class used as a row type for OrientedEntityTable. Definition: OrientedEntityTable.hpp:55 The namespace Dune is the main namespace for all Dune code. Definition: common/CartesianIndexMapper.hpp:10 cpgrid::Entity< dim > createEntity(const CpGrid &, int, bool) @ simple Use simple approach based on rectangular partitioning the underlying cartesian grid. Definition: GridEnums.hpp:46 EdgeWeightMethod enum for choosing Methods for weighting graph-edges correspoding to cell interfaces in Zoltan's or Me... Definition: GridEnums.hpp:34 @ defaultTransEdgeWgt Use the transmissibilities as edge weights. Definition: GridEnums.hpp:38 Definition: CpGrid.hpp:185 Traits associated with a specific grid partition type. Definition: CpGrid.hpp:139 cpgrid::Iterator< cd, pitype > LevelIterator The type of the iterator over the level entities of this codim on this partition. Definition: CpGrid.hpp:141 cpgrid::Iterator< cd, pitype > LeafIterator The type of the iterator over the leaf entities of this codim on this partition. Definition: CpGrid.hpp:143 cpgrid::Entity< cd > Entity The type of the entity. Definition: CpGrid.hpp:124 cpgrid::Geometry< 3-cd, 3 > Geometry The type of the geometry associated with the entity. IMPORTANT: Codim<codim>::Geometry == Geometry<di... Definition: CpGrid.hpp:118 cpgrid::Geometry< 3-cd, 3 > LocalGeometry The type of the local geometry associated with the entity. Definition: CpGrid.hpp:121 cpgrid::Iterator< cd, All_Partition > LeafIterator The type of the iterator over all leaf entities of this codim. Definition: CpGrid.hpp:130 cpgrid::Iterator< cd, All_Partition > LevelIterator The type of the iterator over all level entities of this codim. Definition: CpGrid.hpp:127 cpgrid::Entity< cd > EntitySeed The type of the entity pointer for entities of this codim. Definition: CpGrid.hpp:133 Traits associated with a specific grid partition type. Definition: CpGrid.hpp:151 Dune::GridView< DefaultLeafGridViewTraits< CpGrid > > LeafGridView The type of the leaf grid view associated with this partition type. Definition: CpGrid.hpp:155 Dune::GridView< DefaultLevelGridViewTraits< CpGrid > > LevelGridView The type of the level grid view associated with this partition type. Definition: CpGrid.hpp:153 Definition: CpGrid.hpp:95 cpgrid::IndexSet LevelIndexSet The type of the level index set. Definition: CpGrid.hpp:165 cpgrid::IntersectionIterator LeafIntersectionIterator The type of the intersection iterator at the leafs of the grid. Definition: CpGrid.hpp:104 Dune::GridView< DefaultLeafGridViewTraits< CpGrid > > LeafGridView The type of the leaf grid view associated with this partition type. Definition: CpGrid.hpp:162 Dune::GridView< DefaultLevelGridViewTraits< CpGrid > > LevelGridView The type of the level grid view associated with this partition type. Definition: CpGrid.hpp:160 cpgrid::GlobalIdSet GlobalIdSet The type of the global id set. Definition: CpGrid.hpp:169 cpgrid::IntersectionIterator LevelIntersectionIterator The type of the intersection iterator at the levels of the grid. Definition: CpGrid.hpp:106 cpgrid::IndexSet LeafIndexSet The type of the leaf index set. Definition: CpGrid.hpp:167 cpgrid::CpGridDataTraits::CollectiveCommunication CollectiveCommunication Definition: CpGrid.hpp:175 GlobalIdSet LocalIdSet The type of the local id set. Definition: CpGrid.hpp:171 cpgrid::CpGridDataTraits::Communication Communication The type of the collective communication. Definition: CpGrid.hpp:174 cpgrid::HierarchicIterator HierarchicIterator The type of the hierarchic iterator. Definition: CpGrid.hpp:109 cpgrid::Intersection LevelIntersection The type of the intersection at the levels of the grid. Definition: CpGrid.hpp:102 cpgrid::Intersection LeafIntersection The type of the intersection at the leafs of the grid. Definition: CpGrid.hpp:100 Dune::RemoteIndices< ParallelIndexSet > RemoteIndices The type of the remote indices information. Definition: CpGridDataTraits.hpp:83 typename CommunicationType::ParallelIndexSet ParallelIndexSet The type of the parallel index set. Definition: CpGridDataTraits.hpp:80 Dune::Communication< MPICommunicator > CollectiveCommunication Definition: CpGridDataTraits.hpp:59 Dune::OwnerOverlapCopyCommunication< int, int > CommunicationType type of OwnerOverlap communication for cells Definition: CpGridDataTraits.hpp:77 Dune::Communication< MPICommunicator > Communication Definition: CpGridDataTraits.hpp:58 Communicator::InterfaceMap InterfaceMap The type of the map describing communication interfaces. Definition: CpGridDataTraits.hpp:74 Definition: preprocess.h:56 |