Exemple #1
0
 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);
 }
Exemple #2
0
    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);
    }
Exemple #3
0
    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);
    }