void Well::addCompletionSet(size_t time_step, const CompletionSetConstPtr newCompletionSet){ CompletionSetPtr mutable_copy(newCompletionSet->shallowCopy()); if (getWellCompletionOrdering() == WellCompletion::TRACK) { mutable_copy->orderCompletions(m_headI, m_headJ, m_grid); } m_completions->update(time_step, mutable_copy); }
void Well::addCompletions(size_t time_step , const std::vector<CompletionConstPtr>& newCompletions) { CompletionSetConstPtr currentCompletionSet = m_completions->get(time_step); CompletionSetPtr newCompletionSet = CompletionSetPtr( currentCompletionSet->shallowCopy() ); for (size_t ic = 0; ic < newCompletions.size(); ic++) newCompletionSet->add( newCompletions[ic] ); m_completions->add( time_step , newCompletionSet); }
void Well::addCompletions(size_t time_step , const std::vector<CompletionPtr>& newCompletions) { CompletionSetConstPtr currentCompletionSet = m_completions->get(time_step); CompletionSetPtr newCompletionSet = CompletionSetPtr( currentCompletionSet->shallowCopy() ); for (size_t ic = 0; ic < newCompletions.size(); ic++) { newCompletions[ic]->fixDefaultIJ( m_headI , m_headJ ); newCompletionSet->add( newCompletions[ic] ); } addCompletionSet( time_step , newCompletionSet); }