Тексты программ

// Расчет пористости и литологии по комплексной палетке

// комплекс НГК-АК-ГГК

// база палеток называется 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. Используемая комплексная палетка