mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
introducing new mapping s2s_outlet
from a segment to its outlet segment
This commit is contained in:
parent
317cbb0af8
commit
1b6453c6ba
@ -181,6 +181,9 @@ namespace Opm
|
||||
std::cout << " s2s_inlets " << std::endl;
|
||||
std::cout << well->wellOps().s2s_inlets << std::endl;
|
||||
|
||||
std::cout << " s2s_outlet " << std::endl;
|
||||
std::cout << well->wellOps().s2s_outlet << std::endl;
|
||||
|
||||
std::cout << " output well information for well " << well->name() << " done!!!! " << std::endl;
|
||||
}
|
||||
std::cin.ignore();
|
||||
|
@ -281,6 +281,8 @@ namespace Opm
|
||||
|
||||
std::vector<Tri> s2s_inlets;
|
||||
s2s_inlets.reserve(m_number_of_segments_);
|
||||
std::vector<Tri> s2s_outlet;
|
||||
s2s_outlet.reserve(m_number_of_segments_);
|
||||
// a brutal way first
|
||||
// will generate matrix with entries bigger than 1.0
|
||||
// Then we need to normalize all the values.
|
||||
@ -289,6 +291,7 @@ namespace Opm
|
||||
int s_outlet = m_outlet_segment_[s];
|
||||
if (s_outlet >=0) {
|
||||
s2s_inlets.push_back(Tri(s_outlet, s, 1.0));
|
||||
s2s_outlet.push_back(Tri(s, s_outlet, 1.0));
|
||||
}
|
||||
int temp_s = s;
|
||||
while (m_outlet_segment_[temp_s] >=0) {
|
||||
@ -309,6 +312,9 @@ namespace Opm
|
||||
m_wops_.s2s_inlets = M(m_number_of_segments_, m_number_of_segments_);
|
||||
m_wops_.s2s_inlets.setFromTriplets(s2s_inlets.begin(), s2s_inlets.end());
|
||||
|
||||
m_wops_.s2s_outlet = M(m_number_of_segments_, m_number_of_segments_);
|
||||
m_wops_.s2s_outlet.setFromTriplets(s2s_outlet.begin(), s2s_outlet.end());
|
||||
|
||||
m_wops_.p2s_average = M(m_number_of_segments_, m_number_of_perforations_);
|
||||
std::vector<Tri> p2s_average;
|
||||
p2s_average.reserve(m_number_of_segments_);
|
||||
|
@ -89,7 +89,8 @@ namespace Opm
|
||||
// means the outlet segments will gather all the contribution
|
||||
// from all the inlet segments in a recurisive way
|
||||
M p2s_gather; // perforation -> segment (in an accumative way)
|
||||
M s2s_inlets; // segment -> their inlet segments
|
||||
M s2s_inlets; // segment -> its inlet segments
|
||||
M s2s_outlet; // segment -> its outlet segment
|
||||
};
|
||||
|
||||
const WellOps& wellOps() const;
|
||||
|
Loading…
Reference in New Issue
Block a user