cementedsand.m
来自「Stanford的SRB实验室Quantitative Seismic Inte」· M 代码 · 共 141 行
M
141 行
function [Phic,Rhodc,Vpdc,Vsdc,Rhosc,Vpsc,Vssc,Phis,Rhods,Vpds,Vsds,Rhoss,Vpss,Vsss]=cementedsand(Clay,Feldspar,Calcite,phic,fcement,kf,rhof,shearfact)% [Phic,Rhodc,Vpdc,Vsdc,Rhosc,Vpsc,Vssc,Phis,Rhods,Vpds,Vsds,Rhoss,Vpss,Vsss]=cementedsand(Clay,Feldspar,Calcite,phic,fcement,kf,rhof,shearfact)%% Calculates the dry- and saturated rock M-modulus, shear modulus and% Poisson's ratio. Model uses contact cement theory to set the% right end member starting from critical porosity, and the modified upper Hashin-Shtrikman % model to continue cement model to lower porosities. Finally, a line of% constant cement is generated with modified lower bound, beginning from a% point on the cement line.% The zero-porosity end point is pure mineral mix.%% INPUTS% Clay Volume clay content in solid phase (fraction)% Feldspar Volume feldspar content in solid phase (fraction)% Calcite Volume calcite content in solid phase (fraction)% PhiC Critical porosity ~0.4% fcement percent fraction% Kf Pore fluid bulk modulus% RHOf Pore fluid density% shearfact empirical correction to contact cement shear modulus%% OUTPUTS% PhiC Porosity (fraction) -- the same as in inputs% Rhodc Dry rock bulk density, cemented sand% Vpdc Dry rock Vp, cemented sand% Vsdc Dry rock Vs, cemented sand% Rhosc Saturated rock bulk density, cemented sand% Vpsc Saturated rock Vp, cemented sand% Vssc Saturated rock Vs, cemented sand% Rhods Dry rock bulk density, soft shale% Vpds Dry rock Vp, soft shale% Vsds Dry rock Vs, soft shale% Rhoss Saturated rock bulk density, soft shale% Vpss Saturated rock Vp, soft shale% Vsss Saturated rock Vs, soft shale%Quartz content is 1-Clay-Feldspar-Calcite%Written by Gary Mavko% Mineral component elastic moduliKQuartz=36.6e9; GQuartz=45e9; KClay=25e9; GClay=9e9; KFeldspar=75.6e9; GFeldspar=25.6e9;KCalcite=76.8e9; GCalcite=32.0e9;% Mineral component densitiesRhoQuartz=2650; RhoClay=2580; RhoFeldspar=2630; RhoCalcite=2710;if nargin<1, prompt = {'critical porosity',... 'cement fraction', ... 'Clay Fraction', ... 'Calcite Fraction', ... 'Feldspar Fraction', ... 'Shear Reduction Factor', ... 'Fluid Bulk Modulus',... 'Fluid Density'}; defans = {'.4', ... '.03', ... '.05',... '0',... '0', ... '.5', ... '2.5e9',... '1020'}; answer = inputdlg(prompt,'Soft Sediment Model',1,defans); phic = str2num(answer{1}); fcement = str2num(answer{2}); Clay = str2num(answer{3}); Calcite = str2num(answer{4}); Feldspar = str2num(answer{5}); shearfact = str2num(answer{6}); kf = str2num(answer{7}); rhof = str2num(answer{8});end;% Mineral phase moduli from Voigt-Reuss-Hill averageQuartz=1-Clay-Feldspar-Calcite;kmin = 0.5.*(Quartz.*KQuartz+Clay.*KClay+Feldspar.*KFeldspar+Calcite.*KCalcite+1./(Quartz./KQuartz+Clay./KClay+Feldspar./KFeldspar+Calcite./KCalcite));gmin = 0.5.*(Quartz.*GQuartz+Clay.*GClay+Feldspar.*GFeldspar+Calcite.*GCalcite+1./(Quartz./GQuartz+Clay./GClay+Feldspar./GFeldspar+Calcite./GCalcite));mmin = kmin + (4/3)*gmin;% Mineral phase densityrhomin=Quartz.*RhoQuartz+Clay.*RhoClay+Feldspar.*RhoFeldspar+Calcite.*RhoCalcite;% Compute Saturated Hashin-Shtrikman lower bound at PhiC. Lower is the suspension line%[kuc,klc,guc,glc]=hsbound(kmin,gmin,kf,0,phic);% create modified diagenetic trend, which is a combination of the Dvorkin cement model% and modified upper Hashin-Shtrikman bound.[kcemsat, gcemsat, rhocemsat, phicem] = diagen(phic, kmin, gmin, rhomin, kf, rhof, shearfact);mcemsat = kcemsat + (4/3).*gcemsat; Vpsc = sqrt(mcemsat./rhocemsat); Vssc = sqrt(gcemsat./rhocemsat); [kcemdry, gcemdry, rhocemdry, phicem] = diagen(phic, kmin, gmin, rhomin, 0, 0, shearfact);mcemdry = kcemdry + (4/3).*gcemdry; Vpdc = sqrt(mcemdry./rhocemdry); Vsdc = sqrt(gcemdry./rhocemdry); % modified lower HS bounds for sorting lines phis = phic - fcement; indsor = (phicem<=phis); phisor = phicem(indsor); rhosordry = rhocemdry(indsor); rhosorsat = rhocemsat(indsor); kssat = min(kcemsat(indsor)); ksdry = min(kcemdry(indsor)); gssat = min(gcemsat(indsor)); gsdry = min(gcemdry(indsor)); mssat = kssat + (4/3)*gssat; msdry = ksdry + (4/3)*gsdry; % Lower HS khssat=1./((phisor./phis)./(kssat+4.*gssat./3)+((phis-phisor)./phis)./(kmin+4.*gssat./3))-4.*gssat./3; khsdry=1./((phisor./phis)./(ksdry+4.*gsdry./3)+((phis-phisor)./phis)./(kmin+4.*gsdry./3))-4.*gsdry./3; ZZ1=(gssat./6).*(9.*kssat+8.*gssat)./(kssat+2.*gssat); ghssat=1./((phisor./phis)./(gssat+ZZ1)+((phis-phisor)./phis)./(gmin+ZZ1))-ZZ1; ZZ1=(gsdry./6).*(9.*gsdry+8.*gsdry)./(ksdry+2.*gsdry); ghsdry=1./((phisor./phis)./(gsdry+ZZ1)+((phis-phisor)./phis)./(gmin+ZZ1))-ZZ1; Vpss = sqrt((khssat+(4/3)*ghssat)./rhosorsat); Vpds = sqrt((khsdry+(4/3)*ghsdry)./rhosordry); Vsss = sqrt(ghssat./rhosorsat); Vsds = sqrt(ghsdry./rhosordry); j = phicem >= (phic - 2*fcement); phicem = phicem(j); kcemsat = kcemsat(j); gcemsat = gcemsat(j); rhocemsat = rhocemsat(j); mcemsat = kcemsat + (4/3).*gcemsat; kcemdry = kcemdry(j); gcemdry = gcemdry(j); rhocemdry = rhocemdry(j); mcemdry = kcemdry + (4/3).*gcemdry; Vpsc = sqrt(mcemsat./rhocemsat); Vssc = sqrt(gcemsat./rhocemsat); mcemdry = kcemdry + (4/3).*gcemdry; Vpdc = sqrt(mcemdry./rhocemdry); Vsdc = sqrt(gcemdry./rhocemdry); Phic = phicem; Phis = phisor; Rhodc = rhocemdry; Rhosc = rhocemsat; Rhods = rhosordry; Rhoss = rhosorsat;% -----------------------------------------------------function [ku,kl,gu,gl] = hsbound(k1,mu1,k2,mu2,por) ku=k2+(1.-por)*(k1-k2)*(k2+4.*mu1/3.)./(k2+4.*(mu1/3.)+por*(k1-k2)); kl=k2+(1.-por)*(k1-k2)*(k2+4.*mu2/3.)./(k2+4.*(mu2/3.)+por*(k1-k2)); fgu=mu1*(9.*k1+8.*mu1)/(6.*(k1+2.*mu1)); fgl=mu2*(9.*k2+8.*mu2)/(6.*(k2+2.*mu2)); gu=mu2+(mu1-mu2)*(1.-por)*(mu2+fgu)./(mu2+fgu+por*(mu1-mu2)); gl=mu2+(mu1-mu2)*(1.-por)*(mu2+fgl)./(mu2+fgl+por*(mu1-mu2));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?