密度组分模型

密度组分模型#

clear all;clc;close all

cd("C:\@richardcuick\kb-demo\book1\深层高温高压井井筒压力计算模型及求解算法研究-结题材料\03-源代码\01 - 密度组分模型代码示例")

% 计算目标温度、压力下的钻井液密度
% 输入参数:目标温度T、目标压力P、油水比OWR、盐度SaltContent、油相类型OilType
% 输出参数:钻井液密度ρl

T=100;      % 目标温度,℃
P=30*10^6;  % 目标压力,Pa

fc=0.03;    % 化学添加剂体积分数
rho_c=1030; % 化学添加剂密度,kg/m^3
fs=0.03;    % 固相体积分数
rho_s=2500; % 固相密度,kg/m^3
fl=1-fc-fs; % 液相体积分数=1-化学添加剂体积分数-固相体积分数
OWR=0/100;  % OWR=0/100表示纯水基,OWR=20/100表示油水比为20和80,OWR=100/0表示纯油基
fo=OWR*fl;  % 油相绝对体积分数
fw=(1-OWR)*fl;  % 水相绝对体积分数

T_0=20;     % 参考温度,℃
P_0=101325; % 参考压力,Pa

SaltContent=10;    % 盐度(重量,wt%),SaltContent=0表示纯水
rho_b_0=Density_Brine(T_0,P_0,SaltContent); % 求解参考温度和压力下清水及任意盐度下盐水的密度,kg/m^3

OilType=1;  % 取值为1,2,3;OilType=1表示柴油、OilType=2表示矿物油、OilType=3表示合成有机物
rho_o_0=Density_Oil(T_0,P_0,OilType);   % 求解参考温度和压力下油相密度,kg/m^3

rho_b=Density_Brine(T,P,SaltContent);   % 目标温度、压力下的盐水密度,kg/m^3
rho_o=Density_Oil(T,P,OilType);         % 目标温度、压力下的油相密度,kg/m^3

rho_l=(rho_o_0*fo+rho_b_0*fw+rho_s*fs+rho_c*fc)/(1+fo*(rho_o_0/rho_o)+fw*(rho_b_0/rho_b-1));    % 目标温度、压力下的钻井液密度,kg/m^3
rho
rho = 1.5737e+03