Тексты программ
// Расчет пористости и литологии по комплексной палетке
// комплекс НГК-АК-ГГК
// база палеток называется compl. WS и лежит в корневом каталоге
Step=0;
IN
'#Кп_п, Кпнк_п';'#ГГК_п, ГГКо_п, GGK_п';
OUT
'#Кп_общ'; '#Кизв'; '#Кдол';
begin
Кп_общ=Null; Лит=Null;
Кизв=Null; Кдол=Null; Кпес=Null;
if Index=0 then begin
P1=LoadPltK('d:\Prime\compl. WS','Кп(ННКт)_ГГК_200мм','','С','МЗ/БЗ','','','СРК ННКт','0',1,1);
ShowCompl('Кп_п','ГГК_п','d:\Prime\compl. WS','Кп(ННКт)_ГГК_200мм','','С','МЗ/БЗ','','','СРК ННКт',0,0,0,0,0,0,0,0,0,1);
end;
CalcPltK(Кп_п, ГГК_п,1,0,0,0,0,0,3,P1,Кп_общ, Лит,1,1,10,1);
if ЛИТ>=0 then Кдол=ЛИТ;
if ЛИТ>=0 then Кизв=100-Кдол;
if ЛИТ<0 then Кпес=0;
if ЛИТ<0 then Кизв=100;
if ЛИТ<0 then Кп_общ=Кп_п;
end
// Расчет пористости с учетом литологии по ак
// комплекс НГК-ГГК-АК
Step=0.0;
IN
'#DT_п, ДТ_п','#Кдол','#Кизв','#Кп_общ';
OUT
'#Кп_мз','#Кп_кав', '!Тип. Тип';
begin
Кп_мз=null;Кп_кав=null; Тип=null;
if Кдол=null then Кдол=0;
if Кизв=null then Кизв=0;
DT_ск=(Кдол/100)*142+(Кизв/100)*155;
Кп_мз=(((DT_п-DT_ск)/2961.1)^0.5)*100;
MinKP = Кп_мз*0.95;
MaxKP = Кп_мз*1.05;
if (MinKP <= Кп_общ) and (Кп_общ <= MaxKP) then
begin
Тип=77;//поровый
Кп_мз=Кп_общ;
end
else begin
if Кп_общ > Кп_мз then
begin
Тип=80;//кавернозный
Кп_кав=Кп_общ-Кп_мз;
end
else begin
if Кп_общ>0 then
Тип=81; // трещиноватый
Кп_мз=null;
end;
end;
end
//Объемная модель НГК-ГГК-АК
Step=0.1;
IN
'Кп, Кпнк';'ГГК, GGK'; 'DT, ДТ';'Сно';
OUT
'Кп_мз_м','Кп_кав_м'; 'Кдол_м'; 'Кизв_м';
begin
Кп_общ_м=Null; Лит=Null; Кп_мз_м=Null; Кп_кав_м= Null;
Кизв=0; Кдол=0; Кпес=0;
if Index=0 then begin
P1=LoadPltK('d:\Prime\compl. WS','Кп(ННКт)_ГГК_200мм','','С','МЗ/БЗ','','','СРК ННКт','0',1,1);
//ShowCompl('Кп','ГГК','d:\Prime\compl. WS','Кп(ННКт)_ГГК_200мм','','С','МЗ/БЗ','','','СРК ННКт',0,0,0,0,0,0,0,0,0,1);
end;
CalcPltK(Кп, ГГК,1,0,0,0,0,0,3,P1,Кп_общ_м, Лит,20,20,20,20);
if ЛИТ>=0 then Кдол=ЛИТ;
if ЛИТ>=0 then Кизв=100-Кдол;
if ЛИТ<0 then Кпес=0;
if ЛИТ<0 then Кизв=100;
if ЛИТ<0 then Кп_общ_м=Кп;
DT_ск=(Кдол/100)*142+(Кизв/100)*155;
Кп_мз_м=(((DT-DT_ск)/2961.1)^0.5)*100;
Кп_кав_м=Кп_общ_м-Кп_мз_м;
if Кп_кав_м<0 then Кп_кав_м=0;
if Кп_мз_м > Кп_общ_м then Кп_мз_м=Кп_общ_м;
Кдол_м=(Кдол*(100-Кп_мз_м-Кп_кав_м-Сно))/100; //для равенства 100
Кизв_м=(Кизв*(100-Кп_мз_м-Кп_кав_м-Сно))/100;
if Кдол_м<0 then Кдол_м=0;
if Кизв_м<0 then Кизв_м=0;
end

Рис. 1. Используемая комплексная палетка


