?? global.bas
字號(hào):
Attribute VB_Name = "GLOBAL"
Public Const time_max = 500 '最大時(shí)間步
Public Const well_max = 600 '最大井?dāng)?shù)
Public Const wellname_max = 8 '最大井名字符數(shù)
Public Const wellelsename_max = 15 '最大井別名字符數(shù)
Public Const gridx_max = 100 '最大X網(wǎng)格數(shù) ?
Public Const gridy_max = 100 '最大Y網(wǎng)格數(shù) ?
Public Const layer_max = 20 '最大層數(shù) 46?
Public Const gridxyz_max = 60000 '最大網(wǎng)格數(shù) ?
Public Const duannum_max = 45 '最大設(shè)置斷層線數(shù) ?
Public Const duanpoint_max = 50 '斷層線設(shè)置最多點(diǎn)數(shù)
Public Const useless_layernum = gridx_max * gridy_max '每層最大無(wú)效網(wǎng)格數(shù)
Public Const staticnum_max = 20 '油層參數(shù)場(chǎng)數(shù)據(jù)參數(shù)最多個(gè)數(shù)
Public Const lsjsregion_max = 10 '最多離散計(jì)算數(shù)
Public Const rtype_max = 20 '最多巖石類型數(shù)
Public Const otype_max = 2 '最多油類型數(shù)
Public Const nreg_max = 5 '最多分區(qū)數(shù)
Public Const sat_max = 35 '最多相滲表點(diǎn)個(gè)數(shù)
Public Const pvt_max = 40 '最多PVT表點(diǎn)個(gè)數(shù)
Public Const txyz_max = 500 'TX、TY、TZ最多修正個(gè)數(shù)
Public Const grnum_max = 8 '繪制曲線總數(shù)
Public Const grpoint_max = 250 '曲線最多點(diǎn)數(shù)
Public Const well_color1 = &HFFFFC0 '不分類型
Public Const well_color2 = &HFF& '生產(chǎn)井
Public Const well_color3 = &HFF0000 '注入井
Public Const well_color4 = &HFFFFFF '關(guān)井
Public Const kriging_MAXSAM = 120 'maximum number of data points to use in one kriging system
Public Const kriging_MAXDIS = 64 'maximum number of discretization points per block
Public Const kriging_MAXNST = 4 'maximum number of nested structures
Public Const history_cumwell_num = 5
Type owf '字段個(gè)數(shù):42 記錄長(zhǎng)度:237
JH As String * 13 '1井號(hào) C 13 0
DYMC As String * 2 '2 單元名稱 C 2 0
CYFS As String * 1 '3 生產(chǎn)方式(C/P) C 1 0
SCSJ As String * 5 '4 生產(chǎn)時(shí)間 N 5 0
BJ1 As String * 3 '5 泵徑1 N 3 0
BGSD As String * 6 '6 泵掛深度 N 6 1
BLB As String * 1 '7 泵的類別 C 1 0
BJ2 As String * 3 '8 泵徑2 N 3 0
cc As String * 4 '9 沖程/油嘴 N 4 1
CC1 As String * 6 '10 沖次/油壓(MPa) N 6 2
ty As String * 6 '11 套壓(MPa) N 6 2
YCYL As String * 6 '12 月產(chǎn)油 N 6 0
YCQL As String * 7 '13 月產(chǎn)氣(百方) N 7 0
YCSL As String * 6 '14 月產(chǎn)水 N 6 0
NCYL As String * 7 '15 年產(chǎn)油 N 7 0
NCQL As String * 8 '16 年產(chǎn)氣(百方) N 8 0
NCSL As String * 7 '17 年產(chǎn)水 N 7 0
LJCYL As String * 8 '18 累積產(chǎn)油 N 8 0
LJCQL As String * 9 '19 累積產(chǎn)氣(百方) N 9 0
LJCSL As String * 8 '20 累積產(chǎn)水 N 8 0
BZFDL As String * 1 '21 標(biāo)識(shí)符(D/L) C 1 0
DYM As String * 7 '22 動(dòng)液面/流壓(MPa) N 7 2
BZFJP As String * 1 '23 標(biāo)識(shí)符(J/P) C 1 0
JYM As String * 7 '24 靜液面/靜壓(MPa) N 7 2
YYBZ As String * 6 '25 原油比重(噸/方) N 6 3
DMND As String * 6 '26 地面粘度(mPa.s) N 6 0
SKHD As String * 7 '27 水總礦化度(ppm) N 7 0
SSX As String * 1 '28 地下水水型 C 1 0
DCWU As String * 4 '29 層位頂 C 4 0
DCWD As String * 4 '30 層位底 C 4 0
YXHD As String * 5 '31 有效厚度 N 5 1
ZBSD As String * 6 '32 油層中深 N 6 1
BY As String * 7 '33 補(bǔ)油(噸) N 7 0
BQ As String * 8 '34 補(bǔ)氣(百方) N 8 0
bs As String * 7 '35 補(bǔ)水(方) N 7 0
JLBZF As String * 4 '36 井類標(biāo)識(shí)符 C 4 0
BZ As String * 3 '37 備注 C 3 0
SCNY As String * 4 '38 生產(chǎn)年月 C 4 0
JLJCY As String * 8 '39 井累產(chǎn)油 N 8 0
JLJCQ As String * 9 '40 井累產(chǎn)氣 N 9 0
JLJCS As String * 8 '41 井累產(chǎn)水 N 8 0
JLJZS As String * 8 '42 井累注水 N 8 0
End Type
Type WWF '字段個(gè)數(shù):72 記錄長(zhǎng)度:338
JH As String * 13 '1井號(hào)
DYMC As String * 2 '2 單元名稱
ZSFS As String * 1 '3 注水方式
ZSSJ As String * 5 '4 注水時(shí)間(DDhh)
DCWU As String * 4
DCWD As String * 4
SCHD As String * 5
RPZSL As String * 4
BYL As String * 6
TYL As String * 6
YYL As String * 6
YZSL As String * 6
NZSL As String * 7
LJZSL As String * 8
BZSL As String * 7
JBBZF As String * 4
D1CDU As String * 4
D1CDD As String * 4
D1CDSCHD As String * 4
D1CDXZ As String * 1
D1CDSZ1 As String * 4
D1CDSZ2 As String * 4
D1CDRPSL As String * 3
D1CDYZSL As String * 5
D1CDNZSL As String * 6
D1CDLZSL As String * 7
D2CDU As String * 4
D2CDD As String * 4
D2CDSCHD As String * 4
D2CDXZ As String * 1
D2CDSZ1 As String * 4
D2CDSZ2 As String * 4
D2CDRPSL As String * 3
D2CDYZSL As String * 5
D2CDNZSL As String * 6
D2CDLZSL As String * 7
D3CDU As String * 4
D3CDD As String * 4
D3CDSCHD As String * 4
D3CDXZ As String * 1
D3CDSZ1 As String * 4
D3CDSZ2 As String * 4
D3CDRPSL As String * 3
D3CDYZSL As String * 5
D3CDNZSL As String * 6
D3CDLZSL As String * 7
D4CDU As String * 4
D4CDD As String * 4
D4CDSCHD As String * 4
D4CDXZ As String * 1
D4CDSZ1 As String * 4
D4CDSZ2 As String * 4
D4CDRPSL As String * 3
D4CDYZSL As String * 5
D4CDNZSL As String * 6
D4CDLZSL As String * 7
D5CDU As String * 4
D5CDD As String * 4
D5CDSCHD As String * 4
D5CDXZ As String * 1
D5CDSZ1 As String * 4
D5CDSZ2 As String * 4
D5CDRPSL As String * 3
D5CDYZSL As String * 5
D5CDNZSL As String * 6
D5CDLZSL As String * 7
BZ As String * 3
SCNY As String * 4
JLJCY As String * 8
JLJCQ As String * 9
JLJCS As String * 8
JLJZS As String * 8
End Type
Global maindrive$ 'easysim所在目錄
Global formbl_x As Single, formbl_y As Single
Global loadtab_bz, okcancel_bz, mainload_bz As Integer '調(diào)用表格窗體標(biāo)志
'----------- draw_line ---------------
Global yaxis_num As Integer
Global px1, py1, px2, py2 As Single
Global xaxis_type, xaxis_visible, TRborder_visible As Integer
Global xaxis_min, xaxis_max, xaxis_interval, twoyaxis_interval As Single
Global title_name$, xaxis_name$, xaxis_format$
Global title_fontsize, axis_fontsize, axisname_fontsize, grnote_fontsize As Single
Global yaxis_grnum(), yaxis_type() As Integer
Global yaxis_min(), yaxis_max(), yaxis_interval() As Single
Global yaxis_name$(), yaxis_format$()
Global grpoint(), gr_type(), grnote_visible(), grnote_LR() As Integer
Global grnote_name$()
Global Lstyle(), Lwidth(), Pstyle(), Pwidth() As Integer
Global Lcolor(), Pcolor() As Single
Global grdatx(), grdaty() As Single
Global grdatx_str$()
Global objBackColor
'----------- well.frm ---------------
Global FRAC_mod As Integer '-1為雙孔介質(zhì)
Global qkname$, oilfield_bz$, start_time$, end_time$, rem1$, rem2$, rem3$
Global caldays, interval_time As Integer '每月計(jì)算天數(shù),時(shí)間間隔
Global reserves, vpor As Single '地質(zhì)儲(chǔ)量,孔隙體積
Global wellx(well_max), welly(well_max), wellname$(well_max) '井的X,Y距離,井名
Global wellname_other$(well_max, 2) '井別名
Global wellnum As Integer '井?dāng)?shù)
Global gridx As Single '油藏長(zhǎng)度
Global gridy As Single '油藏寬度
Global layernum As Integer '油藏層數(shù)
Global griddx(gridx_max + 1), griddy(gridy_max + 1) 'X,Y各網(wǎng)格塊尺寸
Global griddxnum As Integer 'X方向網(wǎng)格數(shù)
Global griddynum As Integer 'Y方向網(wǎng)格數(shù)
Global duannum As Integer '斷層線數(shù)目
Global duanpointnum(duannum_max) As Integer '各斷層線斷點(diǎn)數(shù)
Global duanx(duannum_max, duanpoint_max), duany(duannum_max, duanpoint_max) '各斷層線斷點(diǎn)距離
Global duanlayer(duannum_max, layer_max) As Integer '各斷層線層位判斷:-1:yes,0:no
Global duancor(duannum_max) As Integer '各斷層線顏色
Global duan_color(duannum_max)
Global uselessgridnum(), equbz As Integer '無(wú)效網(wǎng)格數(shù)目
Global uselessgridx(), uselessgridy() '無(wú)效網(wǎng)格所在網(wǎng)格號(hào)
Global bkx1, bkx2, bky1, bky2 As Integer '網(wǎng)格繪制范圍
Global xmidpoint, ymidpoint, diffdx, diffdy As Integer '用于繪制網(wǎng)格
'----------- static.frm ----------
Global static_num As Integer
Global static_lsnum As Integer '離散點(diǎn)數(shù)
Global static_lsdata() As Single '離散點(diǎn)值:點(diǎn)數(shù),參數(shù)(井號(hào)、X坐標(biāo)、Y坐標(biāo)、HTOP、DZ1、DZ2、…、DZNET1、…)
Global griddata_static_condition(staticnum_max) As Integer '參數(shù)場(chǎng)網(wǎng)格值賦值狀況:0:不賦值;1:所有層一個(gè)值;2:一層一個(gè)值;3:DZ倍數(shù);4:KX倍數(shù);5:一個(gè)網(wǎng)格一個(gè)值
Global static_5_condition() As Integer '情況5網(wǎng)格值賦值狀況:0:不賦值;1:一個(gè)值;2:部分賦值;3:完全賦值
Global griddata_one(staticnum_max) As Single '網(wǎng)格值(1)
Global griddata_layer() As Single '網(wǎng)格值(2):參數(shù)(HTOP、DZ1、DZ2、…、DZNET1、…)
Global griddata_dzmult As Single '網(wǎng)格值(3)
Global griddata_kxmult(4) As Single '網(wǎng)格值(4)
Global griddata_static() As Single '網(wǎng)格值(5):X,Y,參數(shù)(HTOP、DZ1、DZ2、…、DZNET1、…)
Global t_modifynum(10) As Integer
'TX、TY、TZ、TXF、TYF、TZF、TXMAEX、TYMAEX、TZMAEX、TCMAEX修正點(diǎn)數(shù)
Global t_xyz(1 To 10, 1 To txyz_max, 1 To 7) As Integer 'TX、TY、TZ修正XYZ坐標(biāo):(TX、TY、TZ),點(diǎn)數(shù),坐標(biāo)(X1、X2、Y1、Y2、Z1、Z2)
'運(yùn)算符:1+;2-;3×4÷5=
Global t_value(1 To 10, 1 To txyz_max) As Single 'TX、TY、TZ修正值:(TX、TY、TZ),點(diǎn)數(shù)
Global oilregion() ' As Single '油類型分區(qū):X,Y,層位
Global rockregion() 'As Integer '巖石類型分區(qū):X,Y,層位
Global lsjsregion() 'As Integer '離散計(jì)算分區(qū):X,Y,層位
Global printregion() 'As Integer '打印摘要分區(qū):X,Y,層位
Global lsjsregion_bz As Integer '離散計(jì)算分區(qū)標(biāo)志:0,only one, other:>1
Global oname$(staticnum_max), unitformat$(staticnum_max) '靜態(tài)場(chǎng)參數(shù)名、參數(shù)輸出格式
Global current_lsd, lsnum_max As Integer '目前設(shè)置或修改離散點(diǎn)、最多離散點(diǎn)點(diǎn)數(shù)
Global static_selcount, layer_selcount As Integer '選中離散計(jì)算數(shù)目
Global static_sel(staticnum_max), layer_sel(layer_max) As Integer '用于選中離散計(jì)算
Global add2equ_bz, cur_layer, cur_static As Integer '1+;2-;3×4÷5=
Global modify_value
Global layer_data(layer_max) As Single
Global lsjs_x(), lsjs_y(), lsjs_data() As Single '用于離散計(jì)算
Global lsjs_method As Integer '離散計(jì)算方法
'-------- file ------------
Global mod_filename$, analysis_filename$, analysis_filename2$, mademod_filename$, newfilename$, fenmod_filename$ '確定模型、分析、建立模型文件名
Global nnstep As Integer, fenfile_newbz As Integer
Global rtype_num, api_num, prreg_num As Integer
Global rtype_val(), api_val(), prreg_val()
Global zone_data() As Integer '區(qū)域塊設(shè)置信息
Global krselnum As Integer
Global krsel$(1 To rtype_max)
Global equalini_bz As Integer '平衡初始化標(biāo)志 -1/0:平衡/非平衡
'-------- dxq ------------
Global forplot_x1, forplot_x2, forplot_y1, forplot_y2 As Integer '用于繪制等值線(區(qū))坐標(biāo)范圍
Global well_condition(well_max) As Integer '用于繪制等值線(區(qū))井狀態(tài):0不顯示;1不分類型顯示;2生產(chǎn)井;3注入井;4關(guān)井
Global red(256), green(256), blue(256) As Integer
Global nodevalues() As Single
Global useless_zone() As Integer
Global useless_zone_num As Integer
Global useless_use() As Integer
Global uscor
Global jmq_zone() As Integer
Global jmq_zone_num As Integer
Global jmq_use() As Integer
Global jmq_pointnum() As Integer
Global jmq_pointx() As Integer
Global jmq_pointy() As Integer
Global drawpm_mode As Integer
'-------- history ------------
Global matchtime_num, match_day() As Integer
Global match_ym$()
Global zsxs_pro, zsxs_prw, zsxs_prg, zsxs_inj As Single
Global oil_md, oil_bo As Single
Global zsxs_singlewell(), cum_well() As Single
Global day_js() As Single '日產(chǎn)量 1:油,t;2:水,方;3:注水,方;4:氣,方
'-------- pressure ------------
Global pressure_data() As Single
'-------- onewell ------------
Global kh_value() As Single
Global sk_time_num As Integer
Global sk_tnum(), sk_well_num() As Integer
Global sk_jh() As Integer
Global sk_welcond$(), staok_name$
'-------- other ------------
Global trstd, stdcon(2), inics(7), resol(4) As Single
'-------- pvt ------------
Global PE_W(1 To 4), COMPR_M, COMPR_F, MD_G, PE_O(1 To 8) As Single
Global gas_pvt(1 To pvt_max, 1 To 3), oil_pvt(1 To 2, 1 To pvt_max, 1 To 4) As Single
Global pvt_bz As Integer '1:WO;2:WO2;3:BLK;4:BLK2
Global gaspvt_frt$(3), oilpvt_frt$(4)
Global gaspvt_num, oilpvt_num(2) As Integer
'-------- krpc ------------
Global FRAC_kr As Integer
Global krow_m(1 To sat_max, 1 To 5), krog_m(1 To sat_max, 1 To 5) As Single
Global krow_f(1 To sat_max, 1 To 5), krog_f(1 To sat_max, 1 To 5) As Single
Global end_point(1 To 4, 1 To 9) As Single
Global kr_frt$(5)
Global krownum_m, krognum_m As Integer
Global krownum_f, krognum_f As Integer
'-------- analysis file ------------
Global nreg_fx As Integer '分區(qū)數(shù)
Global ifracbz As Integer '0/1 單孔/雙孔
Global day_js_fx() As Single '日產(chǎn)量 1:油,t;2:水,方;3:注水,方;4:氣,方
Global pressure_data_fx() As Single
Global oil_md_fx, oil_bo_fx As Single
Global clvar_sim_reg(0 To 2, 1 To 6, 0 To nreg_max) As Double
Rem 計(jì)算儲(chǔ)量等clvar_sim_reg(i,j,k)
Rem i:0-全區(qū);1-基質(zhì);2-裂縫
Rem j:1-原始水量,方;2-原始油量,方;3-原始?xì)饬浚剑?Rem 4-原始自由氣量,方;5-壓力,MPa;6-孔隙體積,方。
Rem k: 分區(qū)號(hào),0-合計(jì)。
Global minmax(4, 2) As Single 'P,SW,SG,SO min-max
Global changvor() As Single
Global pslayer() As Single '(1 To 2, 1 To matchtime_num, 0 To layernum) p,so
Global vorlayer() As Single '基質(zhì)單層孔隙體積
Global cal_max(6) As Single 'Qp,Qi,Cump,Cumi,fw,Pwf
Global cal_max_g(4) As Single 'Qpg,Qig,Cumpg,Cumig
Global changvor_frac() As Single
' his_analysis
Global pwell_num() As Integer, iwell_num() As Integer
Global pxzb_12(1 To 2), pyzb_12(1 To 5, 1 To 2) As Single
Global hisdata2_cal() As Single
Global drawline_bz_com As Integer
Global hmid_res() As Single
Global dznet_res() As Single
Global hmid_js(), dznet_js() As Single
Global drawpm_top, drawpm_bottom As Single
'-------- md predict-file ------------
Global wellnum_pre As Integer '預(yù)測(cè)井?dāng)?shù)
Global end_time_pre$, rem1_pre$, rem2_pre$
Global interval_time_pre As Integer '預(yù)測(cè)時(shí)間間隔
Global predicttime_num, predict_day() As Integer
Global predict_ym$()
Global dayjsnum_pre As Integer
Global day_pre() As Integer, day_js_pre() As Single '時(shí)間,日產(chǎn)量 1:液,方;2:注水,方
Global sk_timenum_pre As Integer
Global sk_kh() As Single
'-------- md new predict-file ------------
Global modfile_new$, pvtfile_new$, stafile_new$, othfile_new$
Global krfilenum_new As Integer
Global krfile_new$(1 To rtype_max)
'-------- print ------------
Global print_title$
Global print_bz As Integer
'-------- scan_pic ------------
Global picture_name$
Global blc_setbz As Integer '1:設(shè)置(未設(shè)置),0:刪除(已設(shè)置)
Global ml_setbz As Integer '1:設(shè)置(未設(shè)置),0:刪除(已設(shè)置)
Global blc_zbx(2), blc_zby(2) '比例尺兩點(diǎn)坐標(biāo)
Global blc_bl '比例尺比例
Global ml_zbx(4), ml_zby(4) '模擬區(qū)域四點(diǎn)坐標(biāo)
Global image_xa, image_xb, image_ya, image_yb 'image1坐標(biāo)
' xa xb
' | |
'----------- ya
' |image1|
'----------- yb
' | |
Function outc$(innum, formt$)
Static ii
If Abs(innum) <= 0.000000001 And InStr(formt$, ".") = 0 Then
outc$ = Space(Len(formt$) - 1) + "0"
Else
ii = Len(formt$) - Len(Format$(innum, formt$))
If ii <= 0 Then ii = 1
outc$ = Space(ii) + Format$(innum, formt$)
End If
End Function
Function outc2$(inch$, num)
Static ii
If Len(inch$) >= num Then
outc2$ = Left$(inch$, num)
Else
ii = num - Len(inch$)
If ii <= 0 Then ii = 1
outc2$ = inch$ + Space(ii)
End If
End Function
Function plotx(resx)
plotx = bkx1 + 12 + ((bkx2 - 7) - (bkx1 + 12)) * resx / gridx
End Function
Function ploty(resy)
ploty = bky1 + 13 + ((bky2 - 8) - (bky1 + 13)) * resy / gridy
End Function
Function fx_plotx(resx)
fx_plotx = bkx1 + 5 + ((bkx2 - 5) - (bkx1 + 5)) * resx / gridx
End Function
Function fx_ploty(resy)
fx_ploty = bky1 + 5 + ((bky2 - 5) - (bky1 + 5)) * resy / gridy
End Function
Function draw_plotx(resx)
draw_plotx = forplot_x1 + (forplot_x2 - forplot_x1) * resx / gridx
End Function
Function draw_ploty(resy)
draw_ploty = forplot_y1 + (forplot_y2 - forplot_y1) * resy / gridy
End Function
Function resx(plotx)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -