mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-18 05:30:40 -06:00
fix incorrect derivative of rock compressibility w.r.t. pressure
since f(x) = 1 + 0.5*g(x)*g(x) the derivative is f'(x) = 0 + 2*0.5*g(x) * g'(x) = g(x)*g'(x) note that the previous incorrect values do not affect the quality of the obtained results (if the tolerance of the non-linear solver is chosen to be small enough), but it may have deteriorated convergence rates.
This commit is contained in:
parent
b0a4387573
commit
2f3cdfd9e0
@ -101,7 +101,8 @@ namespace Opm
|
||||
if (p_.empty()) {
|
||||
// Approximating poro multiplier with a quadratic curve,
|
||||
// we must use its derivative.
|
||||
return rock_comp_ + 2 * rock_comp_ * rock_comp_ * (pressure - pref_);
|
||||
const double cpnorm = rock_comp_*(pressure - pref_);
|
||||
return rock_comp_ + cpnorm*rock_comp_;
|
||||
} else {
|
||||
return Opm::linearInterpolationDerivative(p_, poromult_, pressure);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user