mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Fix two phase EQUIL initialization
This commit is contained in:
parent
ff7cc37589
commit
4220bb2615
@ -767,24 +767,30 @@ namespace Opm
|
|||||||
double sat[BlackoilPhases::MaxNumPhases];
|
double sat[BlackoilPhases::MaxNumPhases];
|
||||||
double threshold_sat = 1.0e-6;
|
double threshold_sat = 1.0e-6;
|
||||||
|
|
||||||
|
sat[oilpos] = 1.0;
|
||||||
|
if (water) {
|
||||||
sat[waterpos] = smax[waterpos];
|
sat[waterpos] = smax[waterpos];
|
||||||
|
sat[oilpos] -= sat[waterpos];
|
||||||
|
}
|
||||||
|
if (gas) {
|
||||||
sat[gaspos] = smax[gaspos];
|
sat[gaspos] = smax[gaspos];
|
||||||
sat[oilpos] = 1.0 - sat[waterpos] - sat[gaspos];
|
sat[oilpos] -= sat[gaspos];
|
||||||
if (sw > smax[waterpos]-threshold_sat ) {
|
}
|
||||||
|
if (water && sw > smax[waterpos]-threshold_sat ) {
|
||||||
sat[waterpos] = smax[waterpos];
|
sat[waterpos] = smax[waterpos];
|
||||||
props.capPress(1, sat, &cell, pc, 0);
|
props.capPress(1, sat, &cell, pc, 0);
|
||||||
phase_pressures[oilpos][local_index] = phase_pressures[waterpos][local_index] + pc[waterpos];
|
phase_pressures[oilpos][local_index] = phase_pressures[waterpos][local_index] + pc[waterpos];
|
||||||
} else if (sg > smax[gaspos]-threshold_sat) {
|
} else if (gas && sg > smax[gaspos]-threshold_sat) {
|
||||||
sat[gaspos] = smax[gaspos];
|
sat[gaspos] = smax[gaspos];
|
||||||
props.capPress(1, sat, &cell, pc, 0);
|
props.capPress(1, sat, &cell, pc, 0);
|
||||||
phase_pressures[oilpos][local_index] = phase_pressures[gaspos][local_index] - pc[gaspos];
|
phase_pressures[oilpos][local_index] = phase_pressures[gaspos][local_index] - pc[gaspos];
|
||||||
}
|
}
|
||||||
if (sg < smin[gaspos]+threshold_sat) {
|
if (gas && sg < smin[gaspos]+threshold_sat) {
|
||||||
sat[gaspos] = smin[gaspos];
|
sat[gaspos] = smin[gaspos];
|
||||||
props.capPress(1, sat, &cell, pc, 0);
|
props.capPress(1, sat, &cell, pc, 0);
|
||||||
phase_pressures[gaspos][local_index] = phase_pressures[oilpos][local_index] + pc[gaspos];
|
phase_pressures[gaspos][local_index] = phase_pressures[oilpos][local_index] + pc[gaspos];
|
||||||
}
|
}
|
||||||
if (sw < smin[waterpos]+threshold_sat) {
|
if (water && sw < smin[waterpos]+threshold_sat) {
|
||||||
sat[waterpos] = smin[waterpos];
|
sat[waterpos] = smin[waterpos];
|
||||||
props.capPress(1, sat, &cell, pc, 0);
|
props.capPress(1, sat, &cell, pc, 0);
|
||||||
phase_pressures[waterpos][local_index] = phase_pressures[oilpos][local_index] - pc[waterpos];
|
phase_pressures[waterpos][local_index] = phase_pressures[oilpos][local_index] - pc[waterpos];
|
||||||
|
Loading…
Reference in New Issue
Block a user