-
Notifications
You must be signed in to change notification settings - Fork 0
/
ReadFluidProperties_Wilmington.m
129 lines (106 loc) · 3.81 KB
/
ReadFluidProperties_Wilmington.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
function fluid = ReadFluidProperties_Wilmington(mainDir, inputFile, plotFigures)
%{
Read and plot the fluid properties for the GoM simulations
%}
set(0, 'DefaultLineLineWidth', 2);
set(0,'defaultAxesFontSize',16)
set(groot,'defaultFigurePaperPositionMode','manual')
%%
mrstModule add ad-props deckformat mrst-gui ad-core ad-blackoil
mrstModule add deckformat ad-props
fileName=strcat(inputFile)
deck = readEclipseDeck(fileName);
deck = convertDeckUnits(deck);
% Create a special ADI fluid which can produce differentiated fluid
% properties.
fluid = initDeckADIFluid(deck)
%% Checking if the user wants to plot the fluid information or not
if ~exist('plotFigures','var')
% third parameter does not exist, so default it to something
plotFigures = 0;
end
if plotFigures == 1
P=linspace(0e6,170e6, 100);
%sW=linspace(0,1, 100);
sW=linspace(min(fluid.krPts.w(:)),max(fluid.krPts.w(:)),100);
dirToSave=strcat(mainDir, 'Figures/');
if (isfolder(dirToSave) == 0)
mkdir(fullfile(mainDir, 'Figures'));
else
figureName=strcat(mainDir,'Figures/FluidProperties.pdf');
fig=figure('Renderer', 'painters', 'Position', [100 100 1300 900]);
clf()
orient(fig,'landscape')
subplot(221)
plot(P/1e6, fluid.bW(P))
%plot(P/1e6, fluid.bO(P,0,1))
title('1/Bw')
xlabel('Pressure (MPa)')
ylabel('1/Bw (sm3/rm3)')
subplot(222)
semilogy(P/1e6, fluid.muW(P))
%plot(P/1e6, fluid.muO(P))
%plot(P/1e6, fluid.muO(P,0,1))
title('Water viscosity ')
ylabel('viscosity (Pa * s)')
xlabel('Pressure (MPa)')
subplot(223)
%plot(P/1e6, fluid.bG(P))
plot(P/1e6, fluid.bO(P))
title('1/Bg')
xlabel('Pressure (MPa)')
ylabel('1/Bg (sm3/rm3)')
subplot(224)
%plot(P/1e6, fluid.muG(P))
semilogy(P/1e6, fluid.muO(P))
title('CO2 viscosity ')
ylabel('viscosity (Pa * s)')
xlabel('Pressure (MPa)')
saveas(gcf,figureName)
figureName=strcat(mainDir,'Figures/RelativePermeability_Manuscript.pdf');
figure(21)
clf()
plot(sW,fluid.krW(sW), 'DisplayName','Brine', 'LineWidth',2)
hold on
plot(sW,fluid.krOW(1-sW), 'r', 'DisplayName','Oil', 'LineWidth',2)
xlabel('Water saturation')
ylabel('Relative permeability')
legend
xlim([0,1])
ylim([0,1])
saveas(gcf,figureName)
x1=1450*9.8*1000/1e6;
x2=1550*9.8*1000/1e6 + 10;
figureName=strcat(mainDir,'Figures/FluidDensityVariationWithPressure.pdf');
figure()
clf()
plot(P/1e6, fluid.bW(P) * fluid.rhoWS, '-b')
hold on
plot(P/1e6, fluid.bO(P) * fluid.rhoOS, '-r')
hold on
%plot(ptmp/1e6, rhoOfit, '--k')
hold on
%fill([x1;x1; x2;x2], [-200; 1400; 1400; -200], 'black')
%alpha(0.1)
%xlim([0,40])
ylim([0,1200])
xlabel('Pressure (MPa)')
ylabel('Density (kg/m3)')
%legend('Brine', 'CO2 original', 'CO2 modified', 'Location','SouthEast')
legend('Brine', 'CO2', 'Location','SouthEast')
saveas(gcf,figureName)
figureName=strcat(mainDir,'Figures/FluidViscosityVariationWithPressure.pdf');
figure()
clf()
semilogy(P/1e6, fluid.muW(P), '-b')
hold on
semilogy(P/1e6, fluid.muO(P), '-r')
%fill([x1;x1; x2;x2], [0; 1.2e-3; 1.2e-3; 0], 'black')
%alpha(0.1)
%plot(ptmp/1e6, rhoOfit, '--k')
xlabel('Pressure (MPa)')
ylabel('Viscosity (Pa * s)')
legend('Brine', 'CO2', 'Location','Northwest')
saveas(gcf,figureName)
end
end