mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-24 16:30:02 -06:00
Merge pull request #5717 from vkip/fc_linrad
Add LINRAD (hybrid linear-radial) filter cake model
This commit is contained in:
commit
7acd5c24f9
@ -91,7 +91,8 @@ applyCleaning(const WellInterfaceGeneric<Scalar>& well,
|
|||||||
updateMultiplier(connection, perf);
|
updateMultiplier(connection, perf);
|
||||||
const Scalar rw = connection.getFilterCakeRadius();
|
const Scalar rw = connection.getFilterCakeRadius();
|
||||||
switch (filter_cake.geometry) {
|
switch (filter_cake.geometry) {
|
||||||
case FilterCake::FilterCakeGeometry::LINEAR: {
|
case FilterCake::FilterCakeGeometry::LINEAR:
|
||||||
|
case FilterCake::FilterCakeGeometry::LINRAD: {
|
||||||
// Previous thickness adjusted to give correct cleaning multiplier at start of time step
|
// Previous thickness adjusted to give correct cleaning multiplier at start of time step
|
||||||
thickness_[perf] *= factor;
|
thickness_[perf] *= factor;
|
||||||
break;
|
break;
|
||||||
@ -184,6 +185,15 @@ updateSkinFactorsAndMultipliers(const WellInterfaceGeneric<Scalar>& well,
|
|||||||
delta_skin_factor = K / perm * std::log(rc / rc_prev);
|
delta_skin_factor = K / perm * std::log(rc / rc_prev);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case FilterCake::FilterCakeGeometry::LINRAD: {
|
||||||
|
const auto prev_thickness = thickness_[perf];
|
||||||
|
Scalar rc_prev = rw + prev_thickness;
|
||||||
|
thickness = thickness_[perf] + delta_thickness;
|
||||||
|
filtrate_data.thickness[perf] = thickness;
|
||||||
|
const Scalar rc = rw + thickness;
|
||||||
|
delta_skin_factor = K / perm * std::log(rc / rc_prev);
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
const auto geometry =
|
const auto geometry =
|
||||||
FilterCake::filterCakeGeometryToString(filter_cake.geometry);
|
FilterCake::filterCakeGeometryToString(filter_cake.geometry);
|
||||||
|
Loading…
Reference in New Issue
Block a user