-
Notifications
You must be signed in to change notification settings - Fork 116
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
b3115d9
to
f6217fb
Compare
511c309
to
e37ef7d
Compare
0e3496d
to
6345dce
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.
6345dce
to
c049283
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.