Проект расчета экономических показателей разработки нефтяных месторождений с применением методов увеличения нефтеотдачи пластов

Автор: Пользователь скрыл имя, 07 Октября 2012 в 11:56, курсовая работа

Описание работы

Предметной областью курсовой являются экономические показатели, а точнее капитальные вложения при разработке нефтяных месторождений, строительстве скважин и оснащение производства необходимым оборудованием.

Содержание

1 Постановка задачи…………………………………………………………….3
1.1 Спецификация……………………………………………………………….3
1.2 Определение входных, выходных и промежуточных значений и форма
их представления………………..………………………………………………3
2 Определение типа алгоритма и возможности его реализации……………..5
2.1 Теоретическое обоснование проблемы……………………………............5
2.2 Определение типа алгоритма……………………………………………….5
2.3 Математическая модель…………………………………………………….5
3 Функциональная схема наполнения………………………………………….6
3.1 Блок-схема……………………………………………………………………6
3.2 Интерфейс……………………………………………………………………7
4 Программный код……………………………………………………………...8
5 Тестирование…………………….…………………………………………….14
5.1 Корректность ввода………….………….…….…………………………….14
5.2 Контрольный пример…………………….………………………………….15
6 Список использованных источников…….…………………………………..16

Работа содержит 1 файл

курсовая2012.doc

— 153.50 Кб (Скачать)

Содержание

 

1 Постановка задачи…………………………………………………………….3

1.1 Спецификация……………………………………………………………….3

1.2 Определение входных,  выходных и промежуточных значений  и форма 

их представления………………..………………………………………………3

2 Определение типа алгоритма  и возможности его реализации……………..5

2.1 Теоретическое обоснование  проблемы……………………………............5

2.2 Определение типа алгоритма……………………………………………….5

2.3 Математическая модель…………………………………………………….5

3 Функциональная схема  наполнения………………………………………….6

3.1 Блок-схема……………………………………………………………………6

3.2 Интерфейс……………………………………………………………………7

4 Программный код……………………………………………………………...8

5 Тестирование…………………….…………………………………………….14

5.1 Корректность ввода………….………….…….…………………………….14

5.2 Контрольный пример…………………….………………………………….15

6 Список использованных источников…….…………………………………..16

 

 

 

 

 

 

 

 

 

 

1 Постановка задачи

 

Разработать проект расчета экономических показателей разработки нефтяных месторождений с применением методов увеличения нефтеотдачи пластов.

 

1.1 Спецификация

 

Предметной областью курсовой являются экономические показатели, а точнее капитальные вложения при разработке нефтяных месторождений, строительстве скважин и оснащение производства необходимым оборудованием.

 

1.2 Определение входных, выходных и промежуточных значений и форма их представления

 

В курсовой был использован ряд источников, с помощью которых определились требуемые данные. При расчёте капитальных вложений в разработку учитывались затраты на сами скважины, их эксплуатацию, сбор и хранение продукции, а также дополнительные затраты на водоснабжение, электроснабжение, связь и прочее обустройство. Далее представлен перечень параметров, которые использовались для решения этой задачи:

Входные:

n1 – количество вводимых добывающих скважин (штук);

n2 – количество вводимых нагнетательных скважин (штук);

x1 – стоимость одной добывающей скважины;

x2 – стоимость одной нагнетательной скважины;

y – стоимость одного комплекта штангового скважинного насоса;

m – стоимость одной компрессорной установки, предназначенной для нагнетания воздуха в пласт;

k1 – нормативный коэффициент, учитывающий капитальные вложения в сбор, транспорт и хранение продукции добывающих скважин;

k2 – нормативный коэффициент, учитывающий капитальные вложения в закачку воды и промыслового водоснабжения;

k3 – нормативный коэффициент, учитывающий капитальные вложения в электроснабжение, связь и прочее обустройство;

Промежуточные:

t – число компрессорных установок, вводимых в эксплуатацию (штук);

v – число лет разработки месторождения;

i – номер года разработки месторождения;

Выходные:

S1 – капитальные вложения в бурение добывающих скважин ;

S2 – капитальные вложения в бурение нагнетательных скважин;

S3 – капитальные вложения в оборудование добывающих скважин;

S4 – капитальные вложения в систему сбора, транспорта и хранения продукции добывающих скважин;

S5 – капитальные вложения в электроснабжение, связь и прочее обустройство;

S6 – капитальные вложения в систему заводнения;

S7 – капитальные вложения в компрессорные установки;

S8 – капитальные вложения в оборудование, не входящее в смету;

S – общие капитальные вложения в разработку месторождения за год;

So – общие капитальные вложения в разработку месторождения за всё время эксплуатации.

Входные и выходные параметры измеряются в денежном эквиваленте – в  рублях.

 

 

 

 

2 Определение типа алгоритма и возможности его реализации

 

2.1 Теоретическое обоснование проблемы

 

При разработке нефтяных месторождений с увеличением нефтеотдачи пластов необходимо определить экономическую эффективность данного метода. Вычисления проводят по специальной методике с расчетом капитальных вложений в разработку за все года эксплуатации.

 

2.2 Определение типа алгоритма

 

Используется циклический алгоритм с действием сложения всех величин, так как необходимо найти общее число капитальных вложений за все года эксплуатации, а именно рассчитывать капитальные вложения за каждый год и посредством цикла прибавлять к общему значению капитальных вложений за предыдущие года.

 

2.3 Математическая модель

 

S1=x1*n1

S2=x2*n2

S3=y*n1

S4=k1*n1

S5=k3*n1

S6=k2*n2

S7=m*t

S8=0.1*(S3+S4+S5+S6+S7)

S=S1+S2+S3+S4+S5+S6+S7+S8

So=S(1)+S(2)+...+S(v)

 

 

3 Функциональная схема наполнения

 

Следующим этапом создания курсовой было составление функциональной схемы этого задания, для чего была написана блок-схема  и разработан интерфейс на базе программы Delphi v.7:

 

3.1 Блок-схема

                  

 

3.2 Интерфейс

 

При разработке интерфейса были использованы следующие компоненты:

Label – текстовая информация для пользователя (название оборудования,  название коэффициентов, описание действий, название искомой величины);

Edit – окна ввода и вывода информации (ввод заданных величин, вывод искомых величин);

Memo – окно дополнительной информации (расшифровка параметров);

StringGrid – таблицы для ввода и вывода информации (ввод заданных величин, вывод искомых величин);

Button – кнопки запуска программы (вычисление задачи, очистка окон и таблиц);

BitBtn – кнопка закрытия программы.

Компоненты преобразованы: изменены шрифт, размер, цвет, форма и другие свойства.

 

4 Программный код

 

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Grids, Buttons;

 

type

  TForm1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Label4: TLabel;

    Edit3: TEdit;

    Label5: TLabel;

    Edit4: TEdit;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Edit5: TEdit;

    Edit6: TEdit;

    Edit7: TEdit;

    Label10: TLabel;

    A: TStringGrid;

    Label11: TLabel;

    Label12: TLabel;

    Label13: TLabel;

    Label14: TLabel;

    Memo1: TMemo;

    B: TStringGrid;

    Edit8: TEdit;

    Button1: TButton;

    Edit9: TEdit;

    Label15: TLabel;

    Button2: TButton;

    BitBtn1: TBitBtn;

    Edit10: TEdit;

    Button3: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Edit1KeyPress(Sender: TObject; var Key: Char);

    procedure Edit8KeyPress(Sender: TObject; var Key: Char);

    procedure Edit2KeyPress(Sender: TObject; var Key: Char);

    procedure Edit3KeyPress(Sender: TObject; var Key: Char);

    procedure Edit4KeyPress(Sender: TObject; var Key: Char);

    procedure Edit5KeyPress(Sender: TObject; var Key: Char);

    procedure Edit6KeyPress(Sender: TObject; var Key: Char);

    procedure Edit7KeyPress(Sender: TObject; var Key: Char);

    procedure Button3Click(Sender: TObject);

  

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

Var v,i:integer; n1,n2,x1,x2,y,m,k1,k2,k3,S1,S2,S3,S4,S5,S6,S7,S8,S,So,t:real;

begin

v:=strtoint(Edit1.text);

x1:=strtofloat(Edit8.text);

x2:=strtofloat(Edit2.text);

y:=strtofloat(Edit3.text);

m:=strtofloat(Edit4.text);

k1:=strtofloat(Edit5.text);

k2:=strtofloat(Edit6.text);

k3:=strtofloat(Edit7.text);

So:=0;

If (v<=0)or(x1<0)or(x2<0)or(y<0)or(m<0)or(k1<0)or(k2<0)or(k3<0) then

Edit10.Text:='Вы ввели неверную величину (проверьте отсутствие минусов  или кол-во лет)'

Else For i:=1 to v do begin

Edit10.Text:='Вы ввели все данные  верно';

n1:=strtofloat(A.cells[i,1]);

n2:=strtofloat(A.cells[i,2]);

t:=strtofloat(A.cells[i,3]);

S1:=x1*n1;

B.Cells[1,i]:=floattostr(S1);

S2:=x2*n2;

B.Cells[2,i]:=floattostr(S2);

S3:=y*n1;

B.Cells[3,i]:=floattostr(S3);

S4:=k1*n1;

B.Cells[4,i]:=floattostr(S4);

S5:=k3*n1;

B.Cells[5,i]:=floattostr(S5);

S6:=k2*n2;

B.Cells[6,i]:=floattostr(S6);

S7:=m*t;

B.Cells[7,i]:=floattostr(S7);

S8:=0.1*(S3+S4+S5+S6+S7);

B.Cells[8,i]:=floattostr(S8);

S:=S1+S2+S3+S4+S5+S6+S7+S8;

B.Cells[9,i]:=floattostr(S);

So:=So+S;

Edit9.Text:=floattostr(So);

end;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

Var i,j:integer;

begin

Edit1.Text:=' ';

Edit2.Text:=' ';

Edit3.Text:=' ';

Edit4.Text:=' ';

Edit5.Text:=' ';

Edit6.Text:=' ';

Edit7.Text:=' ';

Edit8.Text:=' ';

Edit9.Text:=' ';

For j:=1 to 20 do

For i:=1 to 20 do begin

A.Cells[i,j]:=' ';

B.Cells[i,j]:=' ';

end;

end;

 

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-',chr(8): ;

'.': if pos ('.', edit1.text)<>0

then key:=chr(0);

chr(13):edit8.SetFocus;

end;

end;

 

procedure TForm1.Edit8KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-', chr(8): ;

'.': if pos ('.', edit8.text)<>0

then key:=chr(0);

chr(13):edit2.SetFocus;

end;

end;

 

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-', chr(8): ;

'.': if pos ('.', edit2.text)<>0

then key:=chr(0);

chr(13):edit3.SetFocus;

end;

end;

 

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-', chr(8): ;

'.': if pos ('.', edit3.text)<>0

then key:=chr(0);

chr(13):edit4.SetFocus;

end;

end;

 

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-', chr(8): ;

'.': if pos ('.', edit4.text)<>0

then key:=chr(0);

chr(13):edit5.SetFocus;

end;

end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-', chr(8): ;

'.': if pos ('.', edit5.text)<>0

then key:=chr(0);

chr(13):edit6.SetFocus;

end;

end;

 

procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-', chr(8): ;

'.': if pos ('.', edit6.text)<>0

then key:=chr(0);

chr(13):edit7.SetFocus;

end;

end;

 

procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'0'..'9','-', chr(8): ;

'.': if pos ('.', edit7.text)<>0

then key:=chr(0);

end;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

var i,v:integer;

begin With A do begin

Cells[0,0]:='   Год';

Cells[0,1]:='   n1 ,шт';

Информация о работе Проект расчета экономических показателей разработки нефтяных месторождений с применением методов увеличения нефтеотдачи пластов