UDQ for the injection concentration for WINJFCNC

This commit is contained in:
Kai Bao 2023-07-31 16:17:16 +02:00
parent 1f8e16d2e0
commit 6d011131cd
3 changed files with 12 additions and 12 deletions

View File

@ -1461,14 +1461,17 @@ void BlackoilWellModelGeneric::updateFiltrationParticleVolume(const double dt,
const std::size_t water_index)
{
for (auto& well : this->well_container_generic_) {
if (well->isInjector() && well->wellEcl().getFilterConc() > 0.) {
auto fc = this->filter_cake_
.emplace(std::piecewise_construct,
std::forward_as_tuple(well->name()),
std::tuple{});
if (well->isInjector()) {
const double conc = well->wellEcl().evalFilterConc(this->summaryState_);
if (conc > 0.) {
auto fc = this->filter_cake_
.emplace(std::piecewise_construct,
std::forward_as_tuple(well->name()),
std::tuple{});
fc.first->second.updateFiltrationParticleVolume(*well, dt, water_index,
this->wellState());
fc.first->second.updateFiltrationParticleVolume(*well, dt, conc, water_index,
this->wellState());
}
}
}
}

View File

@ -38,6 +38,7 @@ namespace Opm {
void WellFilterCake::
updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
const double dt,
const double conc,
const std::size_t water_index,
const WellState& well_state)
{
@ -55,11 +56,6 @@ updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
return;
}
const double conc = well.wellEcl().getFilterConc();
if (conc == 0.) {
return;
}
// it is currently used for the filter cake modeling related to formation damage study
auto& ws = well_state.well(well.indexOfWell());
const auto& connection_rates = ws.perf_data.phase_rates;

View File

@ -36,6 +36,7 @@ public:
//! \details Used for calculation related to cake filtration due to injection activity.
void updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
const double dt,
const double conc,
const std::size_t water_index,
const WellState& well_state);