-
Notifications
You must be signed in to change notification settings - Fork 118
Expand Low Pressure Table Padding to Oil Property Tables #4555
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Note: This is work in progress and not ready for merging at this time. I'm merely creating a PR to facilitate broader testing. |
|
jenkins build this failure_report please |
|
The following two cases did not run through, |
The |
cf93577 to
cfd6cf6
Compare
cfd6cf6 to
2050094
Compare
16e39af to
a653fc7
Compare
6841be7 to
0c68548
Compare
86d4fea to
a4f6c8c
Compare
ae681e8 to
b574ad0
Compare
bc24638 to
0f3c81d
Compare
da9dd88 to
ecf030b
Compare
ecc5b5c to
ece181b
Compare
30e0296 to
5ee1311
Compare
This commit adds a procedure for expanding missing undersaturated
states in PVTO/PVTG in the low-level Pvt*Table classes on top of
which the higher level types are built. This, as an added benefit,
directly ensures that we emit fully expanded PVTO/PVTG tables to the
.INIT file.
To this end, equip the base class PvtxTable with a helper function
void PvtxTable::populateMissingUndersaturatedStates()
which will invoke the virtual function
makeScaledUSatTableCopy(src, dest)
in its derived classes--especially PvtoTable and PvtgTable--for each
missing undersaturated state. The type-specific procedures for
PvtoTable and PvtgTable is defined in such a way that the scaled
copies preserve oil compressibility.
This commit adds a procedure for padding live oil (PVTO) tables at low oil pressures. The primary objective is to avoid generating negative Rs values when extrapolating the RsSat(po) curve linearly to low oil pressures. To this end, compute a limiting pressure based on inverse interpolation at Rs=1.0e-6 (could possibly be made configurable) and pad the table if this limiting pressure exceeds atmospheric pressure. We pad the table with a composition node at Rs=0. This node is then assigned either to atmospheric pressure or the limiting pressure value. Associate Bo and vo values defined by linear extrapolation to these pressure values. We add a second composition node at Rs=1.0e-6 if the limiting pressure exceeds atmospheric pressure.
5ee1311 to
a3ec4a3
Compare
This PR adds a procedure for padding live oil (PVTO) tables at low oil pressures. The primary objective is to avoid generating negative Rs values when extrapolating the RsSat(po) curve linearly to low oil pressures. To this end, compute a limiting pressure based on inverse interpolation at$R_s=10^{-6}$ (could possibly be made configurable) and pad the table if this limiting pressure exceeds atmospheric pressure.
We pad the table with a composition node at$R_s=0$ . This node is then assigned either to atmospheric pressure or the limiting pressure value. Associate $B_o$ and $\mu_o$ values defined by linear extrapolation to these pressure values. We add a second composition node at $R_s=10^{-6}$ if the limiting pressure exceeds atmospheric pressure.
This PR is similar in spirit but different in details to the gas property low pressure table padding of PR #3779.