setPrimaryVarsDomain: take domain index as parameter

This commit is contained in:
Arne Morten Kvarving 2024-11-18 11:03:47 +01:00
parent 75dc66d4d2
commit 58ac8f2553
3 changed files with 5 additions and 5 deletions

View File

@ -825,7 +825,7 @@ private:
Details::setGlobal(initial_local_solution, domain.cells, solution);
model_.simulator().model().invalidateAndUpdateIntensiveQuantities(/*timeIdx=*/0, domain);
} else {
model_.wellModel().setPrimaryVarsDomain(domain, initial_local_well_primary_vars);
model_.wellModel().setPrimaryVarsDomain(domain.index, initial_local_well_primary_vars);
Details::setGlobal(initial_local_solution, domain.cells, solution);
model_.simulator().model().invalidateAndUpdateIntensiveQuantities(/*timeIdx=*/0, domain);
}
@ -881,7 +881,7 @@ private:
auto local_solution = Details::extractVector(solution, domain.cells);
Details::setGlobal(local_solution, domain.cells, locally_solved);
} else {
model_.wellModel().setPrimaryVarsDomain(domain, initial_local_well_primary_vars);
model_.wellModel().setPrimaryVarsDomain(domain.index, initial_local_well_primary_vars);
Details::setGlobal(initial_local_solution, domain.cells, solution);
model_.simulator().model().invalidateAndUpdateIntensiveQuantities(/*timeIdx=*/0, domain);
}

View File

@ -389,7 +389,7 @@ template<class Scalar> class WellContributions;
void logPrimaryVars() const;
std::vector<Scalar> getPrimaryVarsDomain(const int domainIdx) const;
void setPrimaryVarsDomain(const Domain& domain, const std::vector<Scalar>& vars);
void setPrimaryVarsDomain(const int domainIdx, const std::vector<Scalar>& vars);
void setupDomains(const std::vector<Domain>& domains);

View File

@ -3024,11 +3024,11 @@ namespace Opm {
template <typename TypeTag>
void
BlackoilWellModel<TypeTag>::
setPrimaryVarsDomain(const Domain& domain, const std::vector<Scalar>& vars)
setPrimaryVarsDomain(const int domainIdx, const std::vector<Scalar>& vars)
{
std::size_t offset = 0;
for (auto& well : well_container_) {
if (well_domain_.at(well->name()) == domain.index) {
if (this->well_domain_.at(well->name()) == domainIdx) {
int num_pri_vars = well->setPrimaryVars(vars.begin() + offset);
offset += num_pri_vars;
}