mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-11-24 10:10:18 -06:00
UDQ for the injection concentration for WINJFCNC
This commit is contained in:
parent
1f8e16d2e0
commit
6d011131cd
@ -1461,14 +1461,17 @@ void BlackoilWellModelGeneric::updateFiltrationParticleVolume(const double dt,
|
|||||||
const std::size_t water_index)
|
const std::size_t water_index)
|
||||||
{
|
{
|
||||||
for (auto& well : this->well_container_generic_) {
|
for (auto& well : this->well_container_generic_) {
|
||||||
if (well->isInjector() && well->wellEcl().getFilterConc() > 0.) {
|
if (well->isInjector()) {
|
||||||
auto fc = this->filter_cake_
|
const double conc = well->wellEcl().evalFilterConc(this->summaryState_);
|
||||||
.emplace(std::piecewise_construct,
|
if (conc > 0.) {
|
||||||
std::forward_as_tuple(well->name()),
|
auto fc = this->filter_cake_
|
||||||
std::tuple{});
|
.emplace(std::piecewise_construct,
|
||||||
|
std::forward_as_tuple(well->name()),
|
||||||
|
std::tuple{});
|
||||||
|
|
||||||
fc.first->second.updateFiltrationParticleVolume(*well, dt, water_index,
|
fc.first->second.updateFiltrationParticleVolume(*well, dt, conc, water_index,
|
||||||
this->wellState());
|
this->wellState());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ namespace Opm {
|
|||||||
void WellFilterCake::
|
void WellFilterCake::
|
||||||
updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
|
updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
|
||||||
const double dt,
|
const double dt,
|
||||||
|
const double conc,
|
||||||
const std::size_t water_index,
|
const std::size_t water_index,
|
||||||
const WellState& well_state)
|
const WellState& well_state)
|
||||||
{
|
{
|
||||||
@ -55,11 +56,6 @@ updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
|
|||||||
return;
|
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
|
// it is currently used for the filter cake modeling related to formation damage study
|
||||||
auto& ws = well_state.well(well.indexOfWell());
|
auto& ws = well_state.well(well.indexOfWell());
|
||||||
const auto& connection_rates = ws.perf_data.phase_rates;
|
const auto& connection_rates = ws.perf_data.phase_rates;
|
||||||
|
@ -36,6 +36,7 @@ public:
|
|||||||
//! \details Used for calculation related to cake filtration due to injection activity.
|
//! \details Used for calculation related to cake filtration due to injection activity.
|
||||||
void updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
|
void updateFiltrationParticleVolume(const WellInterfaceGeneric& well,
|
||||||
const double dt,
|
const double dt,
|
||||||
|
const double conc,
|
||||||
const std::size_t water_index,
|
const std::size_t water_index,
|
||||||
const WellState& well_state);
|
const WellState& well_state);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user