CpGridData.hpp
Go to the documentation of this file.
115void fieldProp_check(const Dune::CpGrid& grid, Opm::EclipseGrid eclGrid, std::string deck_string);
158 void ::fieldProp_check(const Dune::CpGrid& grid, Opm::EclipseGrid eclGrid, std::string deck_string);
180 };
185 explicit CpGridData(MPIHelper::MPICommunicator comm, std::vector<std::shared_ptr<CpGridData>>& data);
224 void readEclipseFormat(const std::string& filename, bool periodic_extension, bool turn_normals = false);
235 void processEclipseFormat(const Opm::Deck& deck, bool periodic_extension, bool turn_normals = false, bool clip_z = false,
250 std::vector<std::size_t> processEclipseFormat(const Opm::EclipseGrid* ecl_grid, Opm::EclipseState* ecl_state,
294 bool disjointPatches(const std::vector<std::array<int,3>>& startIJK_vec, const std::vector<std::array<int,3>>& endIJK_vec) const;
304 getPatchesCells(const std::vector<std::array<int,3>>& startIJK_vec, const std::vector<std::array<int,3>>& endIJK_vec) const;
316 void validStartEndIJKs(const std::vector<std::array<int,3>>& startIJK_vec, const std::vector<std::array<int,3>>& endIJK_vec) const;
326 bool patchesShareFace(const std::vector<std::array<int,3>>& startIJK_vec, const std::vector<std::array<int,3>>& endIJK_vec) const;
336 std::array<int,3> getPatchDim(const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
345 std::vector<int> getPatchCorners(const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
354 std::vector<int> getPatchFaces(const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
363 std::vector<int> getPatchCells(const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
372 std::vector<int> getPatchBoundaryCorners(const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
381 std::array<std::vector<int>,6> getBoundaryPatchFaces(const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
384 std::array<std::vector<double>,3> getWidthsLengthsHeights(const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
434 const std::vector<std::array<int,2>>, // parent_to_refined_corners(~boundary_old_to_new_corners)
435 const std::vector<std::tuple<int,std::vector<int>>>, // parent_to_children_faces (~boundary_old_to_new_faces)
460 refinePatch(const std::array<int,3>& cells_per_dim, const std::array<int,3>& startIJK, const std::array<int,3>& endIJK) const;
668 void communicateCodim(Entity2IndexDataHandle<DataHandle, codim>& data, CommunicationDirection dir,
680 void communicateCodim(Entity2IndexDataHandle<DataHandle, codim>& data, CommunicationDirection dir,
747 std::vector<int> level_to_leaf_cells_; // In entry 'level cell index', we store 'leafview cell index' // {level LGR, {child0, child1, ...}}
749 std::vector<std::tuple<int,std::vector<int>>> parent_to_children_cells_; // {# children in x-direction, ... y-, ... z-}
843void CpGridData::communicateCodim(Entity2IndexDataHandle<DataHandle, codim>& data, CommunicationDirection dir,
850void CpGridData::communicateCodim(Entity2IndexDataHandle<DataHandle, codim>& data_wrapper, CommunicationDirection dir,
void refinePatch_and_check(const std::array< int, 3 > &, const std::array< int, 3 > &, const std::array< int, 3 > &) void check_global_refine(const Dune::CpGrid &, const Dune::CpGrid &) void refine_and_check(const Dune::cpgrid::Geometry< 3, 3 > &, const std::array< int, 3 > &, bool) void fieldProp_check(const Dune::CpGrid &grid, Opm::EclipseGrid eclGrid, std::string deck_string) Struct that hods all the data needed to represent a Cpgrid. Definition: CpGridData.hpp:131 CpGridDataTraits::CommunicationType CommunicationType type of OwnerOverlap communication for cells Definition: CpGridData.hpp:559 @ MAX_DATA_PER_CELL The maximum data items allowed per cell (DUNE < 2.5.2) Definition: CpGridData.hpp:172 CpGridDataTraits::ParallelIndexSet ParallelIndexSet The type of the parallel index set. Definition: CpGridData.hpp:562 std::vector< int > getPatchesCells(const std::vector< std::array< int, 3 > > &startIJK_vec, const std::vector< std::array< int, 3 > > &endIJK_vec) const Compute cell indices of selected patches of cells (Cartesian grid required). int size(GeometryType type) const number of leaf entities per geometry type in this process Definition: CpGridData.hpp:201 const std::array< int, 3 > & logicalCartesianSize() const Definition: CpGridData.hpp:523 void communicate(DataHandle &data, InterfaceType iftype, CommunicationDirection dir) communicate objects for all codims on a given level Definition: CpGridData.hpp:863 bool uniqueBoundaryIds() const Definition: CpGridData.hpp:484 std::array< double, 3 > computeEclCentroid(const Entity< 0 > &elem) const RemoteIndices & cellRemoteIndices() Definition: CpGridData.hpp:593 bool patchesShareFace(const std::vector< std::array< int, 3 > > &startIJK_vec, const std::vector< std::array< int, 3 > > &endIJK_vec) const Determine if a finite amount of patches (of cells) share a face. void readSintefLegacyFormat(const std::string &grid_prefix) int size(int codim) const number of leaf entities per codim in this process CpGridDataTraits::CollectiveCommunication CollectiveCommunication Definition: CpGridData.hpp:547 void readEclipseFormat(const std::string &filename, bool periodic_extension, bool turn_normals=false) CpGridDataTraits::InterfaceMap InterfaceMap The type of the map describing communication interfaces. Definition: CpGridData.hpp:556 CpGridDataTraits::Communication Communication The type of the collective communication. Definition: CpGridData.hpp:546 void computeUniqueBoundaryIds() void getIJK(int c, std::array< int, 3 > &ijk) const Extract Cartesian index triplet (i,j,k) of an active cell. Definition: CpGridData.hpp:281 CommunicationType & cellCommunication() Get the owner-overlap-copy communication for cells. Definition: CpGridData.hpp:570 std::tuple< std::shared_ptr< CpGridData >, const std::vector< std::array< int, 2 > >, const std::vector< std::tuple< int, std::vector< int > > >, const std::vector< std::tuple< int, std::vector< int > > >, const std::vector< std::tuple< int, std::vector< int > > >, const std::vector< std::array< int, 2 > >, const std::vector< std::array< int, 2 > > > refinePatch(const std::array< int, 3 > &cells_per_dim, const std::array< int, 3 > &startIJK, const std::array< int, 3 > &endIJK) const Refine a (connected block-shaped) patch of cells. Based on the patch, a Geometry<3,... CpGridDataTraits::RemoteIndices RemoteIndices The type of the remote indices information. Definition: CpGridData.hpp:565 ParallelIndexSet & cellIndexSet() Definition: CpGridData.hpp:583 const ParallelIndexSet & cellIndexSet() const Definition: CpGridData.hpp:588 CpGridDataTraits::MPICommunicator MPICommunicator The type of the mpi communicator. Definition: CpGridData.hpp:544 void processEclipseFormat(const grdecl &input_data, std::array< std::set< std::pair< int, int > >, 2 > &nnc, bool remove_ij_boundary, bool turn_normals, bool pinchActive, double tolerance_unique_points) CpGridData(std::vector< std::shared_ptr< CpGridData > > &data) Constructor. std::tuple< const std::shared_ptr< CpGridData >, const std::vector< std::array< int, 2 > >, const std::vector< std::tuple< int, std::vector< int > > >, const std::tuple< int, std::vector< int > >, const std::vector< std::array< int, 2 > >, const std::vector< std::array< int, 2 > > > refineSingleCell(const std::array< int, 3 > &cells_per_dim, const int &parent_idx) const Refine a single cell and return a shared pointer of CpGridData type. void distributeGlobalGrid(CpGrid &grid, const CpGridData &view_data, const std::vector< int > &cell_part) Redistribute a global grid. const std::vector< double > & zcornData() const Definition: CpGridData.hpp:502 void setUniqueBoundaryIds(bool uids) Definition: CpGridData.hpp:491 void writeSintefLegacyFormat(const std::string &grid_prefix) const bool hasNNCs(const std::vector< int > &cellIndices) const Check all cells selected for refinement have no NNCs (no neighbor connections). Assumption: all grid ... const CommunicationType & cellCommunication() const Get the owner-overlap-copy communication for cells. Definition: CpGridData.hpp:578 const cpgrid::IdSet & localIdSet() const Get the local index set. Definition: CpGridData.hpp:515 void checkCuboidShape(const std::vector< int > &cellIdx_vec) const Check that every cell to be refined has cuboid shape. CpGridDataTraits::Communicator Communicator The type of the Communicator. Definition: CpGridData.hpp:553 bool disjointPatches(const std::vector< std::array< int, 3 > > &startIJK_vec, const std::vector< std::array< int, 3 > > &endIJK_vec) const Determine if a finite amount of patches (of cells) are disjoint, namely, they do not share any corner... std::array< double, 3 > computeEclCentroid(const int idx) const const std::vector< int > & sortedNumAquiferCells() const Get sorted active cell indices of numerical aquifer. Definition: CpGridData.hpp:605 void validStartEndIJKs(const std::vector< std::array< int, 3 > > &startIJK_vec, const std::vector< std::array< int, 3 > > &endIJK_vec) const Check startIJK and endIJK of each patch of cells to be refined are valid, i.e. startIJK and endIJK ve... const RemoteIndices & cellRemoteIndices() const Definition: CpGridData.hpp:598 CpGridData(MPIHelper::MPICommunicator comm, std::vector< std::shared_ptr< CpGridData > > &data) Definition: DefaultGeometryPolicy.hpp:53 const EntityVariable< cpgrid::Geometry< 3 - codim, 3 >, codim > & geomVector() const Definition: DefaultGeometryPolicy.hpp:86 Wrapper that turns a data handle suitable for dune-grid into one based on integers instead of entitie... Definition: Entity2IndexDataHandle.hpp:56 Represents an entity of a given codim, with positive or negative orientation. Definition: EntityRep.hpp:99 Only needs to provide interface for doing nothing. Definition: Iterators.hpp:108 Definition: Indexsets.hpp:199 Definition: Indexsets.hpp:55 Definition: Intersection.hpp:66 Definition: PartitionTypeIndicator.hpp:50 Definition: CpGridData.hpp:897 The namespace Dune is the main namespace for all Dune code. Definition: common/CartesianIndexMapper.hpp:10 Dune::cpgrid::Cell2FacesContainer cell2Faces(const Dune::CpGrid &grid) Get the cell to faces mapping of a grid. MPIHelper::MPICommunicator MPICommunicator The type of the collective communication. Definition: CpGridDataTraits.hpp:55 Dune::VariableSizeCommunicator<> Communicator The type of the Communicator. Definition: CpGridDataTraits.hpp:70 Dune::RemoteIndices< ParallelIndexSet > RemoteIndices The type of the remote indices information. Definition: CpGridDataTraits.hpp:82 typename CommunicationType::ParallelIndexSet ParallelIndexSet The type of the parallel index set. Definition: CpGridDataTraits.hpp:79 Dune::Communication< MPICommunicator > CollectiveCommunication Definition: CpGridDataTraits.hpp:58 Dune::OwnerOverlapCopyCommunication< int, int > CommunicationType type of OwnerOverlap communication for cells Definition: CpGridDataTraits.hpp:76 Dune::Communication< MPICommunicator > Communication Definition: CpGridDataTraits.hpp:57 AttributeSet The type of the set of the attributes. Definition: CpGridDataTraits.hpp:65 Communicator::InterfaceMap InterfaceMap The type of the map describing communication interfaces. Definition: CpGridDataTraits.hpp:73 Definition: CpGridData.hpp:928 void moveData(const E &from, const E &to) Definition: CpGridData.hpp:933 MoveBuffer< typename DataHandle::DataType > buffer Definition: CpGridData.hpp:942 Definition: CpGridData.hpp:948 void operator()(std::size_t from_cell_index, std::size_t to_cell_index) Definition: CpGridData.hpp:954 CpGridData * gatherView_ Definition: CpGridData.hpp:960 Definition: CpGridData.hpp:966 CpGridData * gatherView_ Definition: CpGridData.hpp:984 void operator()(std::size_t from_cell_index, std::size_t to_cell_index) Definition: CpGridData.hpp:972 Definition: CpGridData.hpp:990 CpGridData * scatterView_ Definition: CpGridData.hpp:1008 CpGridData * gatherView_ Definition: CpGridData.hpp:1007 void operator()(std::size_t from_cell_index, std::size_t to_cell_index) Definition: CpGridData.hpp:995 Definition: CpGridData.hpp:923 Definition: preprocess.h:56 |