|
ParallelWellInfo.hpp
Go to the documentation of this file.
70 };
242 // \brief Set the activePerfToLocalPerf-Map for multisegment wells, to be called from WellState::initWellStateMSWell
376 mutable std::unordered_map<int,int> active_to_local_map_; // Cache for active perforation index to local perforation index mapping
377 mutable std::unordered_map<int,int> local_to_active_map_; // Cache for local perforation index to active perforation index mapping
Class checking that all connections are on active cells. Definition: ParallelWellInfo.hpp:385 void connectionFound(std::size_t index) Inidicate that the i-th completion was found. bool checkAllConnectionsFound() CheckDistributedWellConnections(const Well &well, const ParallelWellInfo< Scalar > &info) Class to facilitate getting values associated with the above/below perforation. Definition: ParallelWellInfo.hpp:60 std::vector< Scalar > communicateBelow(Scalar first_value, const Scalar *current, std::size_t size) Creates an array of values for the perforation below. int numLocalPerfs() const CommunicateAboveBelow(const Parallel::Communication &comm) void pushBackEclIndex(int above, int current, bool owner=true) Adds information about original index of the perforations in ECL Schedule. Dune::ParallelLocalIndex< Attribute > LocalIndex Definition: ParallelWellInfo.hpp:71 const IndexSet & getIndexSet() const Get index set for the local perforations. std::vector< Scalar > communicateAbove(Scalar first_value, const Scalar *current, std::size_t size) Creates an array of values for the perforation above. void beginReset() Indicates that we will add the index information. void partialSumPerfValues(RAIterator begin, RAIterator end) const Do a (in place) partial sum on values attached to all perforations. Dune::ParallelIndexSet< int, LocalIndex, 50 > IndexSet Definition: ParallelWellInfo.hpp:72 A factory for creating a global data representation for distributed wells. Definition: ParallelWellInfo.hpp:157 GlobalPerfContainerFactory(const IndexSet &local_indices, const Parallel::Communication comm, int num_local_perfs) Constructor. int numGlobalPerfs() const int globalToLocal(const int globalIndex) const void copyGlobalToLocal(const std::vector< Scalar > &global, std::vector< Scalar > &local, std::size_t num_quantities) const Copies the values of the global perforation to the local representation. typename CommunicateAboveBelow< Scalar >::Attribute Attribute Definition: ParallelWellInfo.hpp:160 std::vector< Scalar > createGlobal(const std::vector< Scalar > &local_perf_container, std::size_t num_quantities) const Creates a container that holds values for all perforations. typename IndexSet::IndexPair::GlobalIndex GlobalIndex Definition: ParallelWellInfo.hpp:161 int localToGlobal(std::size_t localIndex) const typename CommunicateAboveBelow< Scalar >::IndexSet IndexSet Definition: ParallelWellInfo.hpp:159 Class encapsulating some information about parallel wells. Definition: ParallelWellInfo.hpp:217 int activePerfToLocalPerf(const int activeIndex) const std::vector< Scalar > communicateBelowValues(Scalar last_value, const Scalar *current, std::size_t size) const Creates an array of values for the perforation below. std::vector< Scalar > communicateBelowValues(Scalar last_value, const std::vector< Scalar > ¤t) const Creates an array of values for the perforation above. void setActivePerfToLocalPerfMap(const std::unordered_map< int, int > &active_to_local_map) const ParallelWellInfo(const std::string &name={""}, bool hasLocalCells=true) Constructs object using MPI_COMM_SELF. const std::string & name() const Name of the well. Definition: ParallelWellInfo.hpp:299 T broadcastFirstPerforationValue(const T &t) const ParallelWellInfo(const std::pair< std::string, bool > &well_info, Parallel::Communication allComm) Constructs object with communication between all rank sharing a well. int localPerfToGlobalPerf(std::size_t localIndex) const std::vector< Scalar > communicateAboveValues(Scalar first_value, const Scalar *current, std::size_t size) const Creates an array of values for the perforation above. void beginReset() Inidicate that we will reset the ecl index information. void pushBackEclIndex(int above, int current) Adds information about the ecl indices of the perforations. bool hasLocalCells() const Whether local cells are perforated somewhen. Definition: ParallelWellInfo.hpp:305 It::value_type sumPerfValues(It begin, It end) const Sum all the values of the perforations. int localPerfToActivePerf(std::size_t localIndex) const void partialSumPerfValues(RAIterator begin, RAIterator end) const Do a (in place) partial sum on values attached to all perforations. Definition: ParallelWellInfo.hpp:334 int globalPerfToLocalPerf(const int globalIndex) const const GlobalPerfContainerFactory< Scalar > & getGlobalPerfContainerFactory() const Get a factor to create a global representation of peforation data. void communicateFirstPerforation(bool hasFirst) Collectively decide which rank has first perforation. static constexpr int INVALID_ECL_INDEX Definition: ParallelWellInfo.hpp:219 std::vector< Scalar > communicateAboveValues(Scalar first_value, const std::vector< Scalar > ¤t) const Creates an array of values for the perforation above. void endReset() Inidicate completion of reset of the ecl index information. const Parallel::Communication & communication() const Definition: ParallelWellInfo.hpp:234 Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 Definition: blackoilbioeffectsmodules.hh:45 bool operator<(const ParallelWellInfo< Scalar > &well1, const ParallelWellInfo< Scalar > &well2) bool operator==(const aligned_allocator< T1, Alignment > &, const aligned_allocator< T2, Alignment > &) noexcept Definition: alignedallocator.hh:200 bool operator!=(const aligned_allocator< T1, Alignment > &, const aligned_allocator< T2, Alignment > &) noexcept Definition: alignedallocator.hh:208 Reservoir temperature and salt concentration of the first perforated cell. Definition: ParallelWellInfo.hpp:44 void serializeOp(Serializer &serializer) Definition: ParallelWellInfo.hpp:49 Scalar saltConcentration Definition: ParallelWellInfo.hpp:46 |