




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东 北 石 油 大 学课 程 设 计课 程 石油工程课程设计 题 目 瑞利(rayleigh)模型的应用 院 系 石油工程学院 专业班级 油工12-5班 学生姓名 学生学号 120201140111 指导教师 王立军 2015年7月24日东北石油大学课程设计任务书课程 石油工程课程设计 题目 瑞利(rayleigh)模型的应用 专业 石油工程 姓名 xxx 学号 120201140111 主要内容、基本要求、主要参考资料等主要内容:(1) 推导瑞利预测模型;(2) 根据油气田实际生产数据,进行线性回归,求得直线的截距和斜率;(3) 根据相关公式,确定瑞利模型常数a和c;(4) 计算油田年产油量;(5) 计算油田累积产油量;(6) 计算可采储量;(7) 计算最高年产量发生的时间;(8) 计算最高年产量;(9) 计算油田达到最高产量时的累积产量;(10) 绘制油田实际年产量与预测产量对比曲线;(11) 绘制油田实际累积产量与预测累积产量对比曲线。基本要求:1) 基础数据:2) 某油田或区块的开发数据。2)设计要求该专题设计最终要求是,学生通过自选上述基础数据,利用所学知识完成规定设计内容,编制相应软件,并提交规范设计报告。主要参考资料陈元千 油藏工程实践m.石油工业出版社. 完成期限 2015年7月6日2015年7月24日 指导教师 王立军 专业负责人 王立军 2015年7 月 24日目 录1 前言31.1设计的目的意义31.2设计的主要内容32 基础数据43 基础理论53.1 瑞利(rayleigh)模型的应用模型的建立53.2模型的求解方法74 设计结果8认识与结论12参考文献13附录141.前 言1.1 设计的目的意义本课题的目的是让学生通过自选一组数据,利用所学专业知识在指导教师的指导下独立完成对某一油田或区块开发指标的预测。本课题要求学生对瑞利(rayleigh)模型的关系式进行推导,其结果包括,对油气田的年产量、累积产量、可采储量、最高年产量、最高年产量发生的时间的预测方法。从而将理论知识和实际问题相结合,通过该专题设计的训练,加强学生理论知识运用能力,计算机技术应用能力及解决实际问题的工程应用能力。1.2 设计的主要内容根据已有的基础数据,利用所学的专业知识,在指导教师指导下独立完成并提交一个油田或一个区块油田开发指标预测结果,设计主要内容如下:(1) 推导瑞利预测模型;(2) 根据油气田实际生产数据,进行线性回归,求得直线的截距和斜率;(3) 根据相关公式,确定瑞利模型常数a和c;(4) 计算油田年产油量;(5) 计算油田累积产油量;(6) 计算可采储量;(7) 计算最高年产量发生的时间;(8) 计算最高年产量;(9) 计算油田达到最高产量时的累积产量;(10) 绘制油田实际年产量与预测产量对比曲线;(11) 绘制油田实际累积产量与预测累积产量对比曲线。2.基础数据中国华北地区的任丘雾迷山古潜山油田于1975年7月被发现,1976年投产。其油藏类型为块状底水潜山,孔、洞、缝发育,储层位于震旦系,以白云岩为主。油藏埋藏深度为25883510m,含油面积为56.9km2,油层有效厚度为272.0m.,有效孔隙度为6%,空气渗透率为10610-3m2。原始地层压力为32.6mpa,原始饱和压力为1.3mpa,原始气油比为4.4m3/t,地面原油密度为0.889g/cm3,地层油粘度为8.20mpas。开始上报的原油地质储量为53038104t,可采储量为11760104t。油藏采用边缘底部的注水方式。1990年底综合含水率为82%。该油田的开发数据列于下表。 表2-1 开发数据表年份开发时间(a)年产量(104t/a)累积产量(104t/a)1975112.2012.2019762606.10618.30197731127.301745.60197841191.502937.10197951240.204177.30198061235.205412.5019817977.956390.4519828901.827292.2719839807.628099.89198410739.388839.27198511675.399514.66198612581.9410096.60198713352.4510449.05198814209.9210658.97198915153.6210812.59199016120.2410932.833.基础理论3.1瑞利(rayleigh)模型的应用模型的建立在数理统计中瑞利分布的分布密度表示为: (3-1)式中 f(x)瑞利分布的分布密度函数;x分布变量,其值大于等于0;控制分布峰值的参数。由式(3-l)表示的瑞利分布,在x从0到区间内的累积分布(或分布函数)等于1,因此可以得到关系式如下 (3-2)对于油气田来说,开发时间从0到之间的累计产量可视为油气田的可采储量,可表示为 (3-3) 式中:nr为油气田的可采储量,104t(油),108m3(气);np(t)为累积产量,104t(油),108m3(气);q年产量,104t/a(油),108m3/a(气);t为开发时间,a。将式(3-3)等号两端同除以nr得 (3-4)由式(3-2)与式(3-4)对比可以看出,因此,若将式(3-1)转换为预测油气田产量分布的模型时,需将该式的右端乘以可采储量。该可采储量可视为,将数理统计中的理论分布转为预测模型的转换常数。由此,式(3-1)可写为 (3-5)设,则;又设和得 (3-6)再作如下设定 (3-7)则得到预测油气田产量的模型为 (3-8)油气田的累积产量表示为 (3-9)将式(3-8)代入式(3-9)进行积分得 (3-10)再讲式(3-7)代入式(3-10),得到预测油气田累积产量的模型为 (3-11)对式(3-8)两边取导数,整理得 (3-12)当时,必然有 (3-13)由式(3-13)可以得到最高年产量发生的时间为 (3-14)式中:为最高年产量发生的时间,a将式(3-14)代入式(3-8)的得到预测油气田最高年产量的公式为 (3-15)式中:为最高年产量,104t/a(油),108m3/a(气)。再将式(3-14)代入式(3-11)得到预测最高年产量对应的累积产量为 (3-16)式中:为最高年产量对应的累积产量,104t/a(油),108m3/a(气)。将式(3-7)代入式(3-16)得 (3-17)已知,因此式(3-17)又可写为 (3-18)由式(3-18)可以看出,对于瑞利模型来说,当可采储量的40%时,油田进入递减期。 3.2模型的求解方法由上述推导的结果可以看出,要想利用瑞利模型进行各项预测,就必须首先确定模型常数a和c的数值。为此,将式(3-18)等号两端先除以t再取常用对数,得 (3-19)若设: (3-20) (3-21)则得: (3-22)由式(3-22)看出,q/t与之间具有半对数直线关系。当根据油气田的实际生产数据,由式(3-22)进行线性回归之后,可以求得直线的截距和斜率的数值,并由式(3-22)和式(21)确定模型常数a和c的数值。4.设计结果本程序主要以下拉菜单控制各个过程为主体,实现各个不同的功能,简洁明了的展示出各个过程。当启动程序时,初始界面如图(3-1)所示: 图3-1初始运行界面单击“导入数据”,程序将从存放数据的默认位置导入初始数据。单击“导出数据”,原始数据将被保存在指定的默认位置。单击“保存数据”,预测结果将被保存在指定的默认位置。如果想修改数据可直接单击想要修改的数据所对应的单元格进行修改,累计产量将在再次单击参数计算时进行改正。当单击“参数计算”时,程序将算出不同时间所对应的和lg(q/t),并根据最小二乘法(详情见附录程序),计算出回归直线的斜率=-0.0067;直线的截距=2.5495,将和的数值分别代入式(3-20)和式(3-21)求得a为354.4051,c为64.8929。单击”拟合公式”,回归直线的公式便可显示在表格的下方,运行界面如图(3-2)所示:图3-2 参数计算及公式拟合运行界面单击“瑞丽曲线”按钮,可将(3-22)式的直线关系绘于图3-3,得到了一条拟合很好的直线,如图(3-3)所示: 图3-3 瑞利曲线运行界面将a和c的数值代入式(3-7)得到该油田的可采储量为11499.1931104t;将c的值代入式(3-14)得到最高年产量发生的时间为5.6953a;将a和c的数值代入式(3-15)得到该油田的最高年产量为1224.4885104t;将该油田可采储量的数值代入式(3-18)得到该当油田年产量达到最高年产量时的累积产量为4524.5606104。由式(3-23)和式(3-24)预测该油田的产量和累积产量,单击 “预测结果”,可将预测出的各个结果显示在图(3-4)的界面上。3-4 预测结果运行界面单击“实际与预测年产量与时间变化曲线”按钮,可在同一坐标系中绘制实际产量与预测产量及其对应时间t之间的关系曲线,绘于图(3-5)。图3-5 实际与预测产量随时间变化曲线运行界面单击“实际与预测累计产量与时间变化曲线”按钮,可在同一坐标系中绘制实际累计产量与预测累计产量及其对应时间t之间的关系曲线绘于图3-6。图3-6实际与预测累计产量随时间变化曲线运行界面认识与结论经过了三周从没接触过的课程设计,让我获得了很多收获,和同学们每天准时相约机房,一起探讨编程的团结协作,面对难题,绞尽脑汁,使难题获得解决时内心的满足,都让我感觉非常的充实。大家一起经历的三周,有探讨时的说笑,有钻研时的认真,也有请教他人时的谦逊,当然还有老师指导时的孜孜不倦。这次课程设计,我所得到的收获大致如下:(1)通过课程设计所设计的瑞利模型程序,让我对vb编程有了更深入的了解,运用企业版vb,比上课时的基 础版实现的功能更多样,也更加强大,经过查阅资料,学会了不少新控件的使用方法,和一些新的编程语言,相信在以后的工作中还会更好的得以运用。(2)课程设计虽然结束了,但是我所设计的程序并不完善,还有很多功能有待实现,这就要求自己还要不断的学习编程知识,将程序加以完善,以便在以后的工作中,加以运用。(3)这次课程设计让我们养成了遇到问题运用编程加以解决的习惯,这在以后的工作中会变得非常实用,通过编程,让以后参加工作的我们工作起来更加高效。(4)这次课程设计,感谢张老师对我们编程的指导,已经王老师在中期对我的程序的评判,让我在后面有了最终的方向,对我的课设的完成起了关键作用,最后感谢两位老师在假期的陪伴。参考文献1陈涛平,石油工程,石油工业出版社,20112吴雅娟,王莉利,visual basic 程序设计案例教程,中国石化出版社,20113蒋加伏、张林峰.visualbasic程序设计教程m.北京邮电大学出版社,2011。4陈元千. 瑞利模型的完善推导与应用j. 油气地质与采收率,2004,11(4):39-41.5陈元千 油藏工程实践m.石油工业出版社,2003附 录一、程 序dim t2(16) as single, lg(16) as single, j as single, t(16) as single, q(16) as single, ql(16) as single, x as single, z as single, xx as single, zx as single const asc_enter = 13 enter dim grow as integer dim gcol as integerdim nf(16) as single, kfsj(16) as single, cl(16) as single, ljcl(16) as single 年份,开发时间,产量,累计产量private sub form_resize()me.paintpicture me.picture, 0, 0, me.scalewidth, me.scaleheight 使图片填充end sub初始加载private sub form_load()me.autoredraw = truegrid1.colwidth(0) = 800 确定表格宽度grid1.colwidth(1) = 1100grid1.colwidth(2) = 1400grid1.colwidth(3) = 1600grid1.colwidth(4) = 1500grid1.colwidth(5) = 1500grid1.textmatrix(0, 4) = t2grid1.textmatrix(0, 5) = lg(q/t)grid3.textmatrix(0, 0) = 年份grid3.textmatrix(0, 1) = 开发时间(a)grid3.textmatrix(0, 2) = 年产量(104 t/a)grid3.textmatrix(0, 3) = 预测年产油量(104 t/a)grid3.textmatrix(0, 4) = 累积产量(104 t/a)grid3.textmatrix(0, 5) = 预测累积产油量(104 t/a)grid3.colwidth(0) = 600 表格大小grid3.colwidth(1) = 1200grid3.colwidth(2) = 1500grid3.colwidth(3) = 2200grid3.colwidth(4) = 1800grid3.colwidth(5) = 2500text1.visible = false 设置可视性text2.visible = falsetext3.visible = falsetext4.visible = falsetext5.visible = falsetext6.visible = falsetext7.visible = falsetext8.visible = falsetext9.visible = falsetext10.visible = falsegrid1.visible = falsegrid3.visible = false label1.visible = falselabel1.visible = falselabel2.visible = falselabel3.visible = falselabel4.visible = falselabel5.visible = falselabel6.visible = falselabel7.visible = falselabel8.visible = falselabel9.visible = falsemschart1.visible = falsemschart2.visible = falsemschart3.visible = falsegrid1.left = (form1.width - grid1.width) / 2 - 2000 各图标位置加载grid1.top = (form1.height - grid1.height) / 2label1.left = (form1.width - grid1.width) / 2 + 6300text2.left = (form1.width - grid1.width) / 2 + 8000label2.left = (form1.width - grid1.width) / 2 + 6300label3.left = (form1.width - grid1.width) / 2 + 2000label4.left = (form1.width - grid1.width) / 2 + 6300label5.left = (form1.width - grid1.width) / 2 + 6300text3.left = (form1.width - grid1.width) / 2 + 8000text4.left = (form1.width - grid1.width) / 2 + 3700text5.left = (form1.width - grid1.width) / 2 + 8720text6.left = (form1.width - grid1.width) / 2 + 9300label1.top = (form1.height - grid1.height) / 2label2.top = (form1.height - grid1.height) / 2 + 1000label3.top = (form1.height - grid1.height) / 2 + 5000label4.top = (form1.height - grid1.height) / 2 + 2000label5.top = (form1.height - grid1.height) / 2 + 3000text2.top = (form1.height - grid1.height) / 2text3.top = (form1.height - grid1.height) / 2 + 1000text4.top = (form1.height - grid1.height) / 2 + 5000text5.top = (form1.height - grid1.height) / 2 + 2000text6.top = (form1.height - grid1.height) / 2 + 3000grid3.left = (form1.width - grid1.width) / 2 - 1500grid3.top = (form1.height - grid1.height) / 2 - 1500label6.top = 5500label9.top = 5500text7.top = 5500text10.top = 5500label7.top = 6200label8.top = 6200text8.top = 6200text9.top = 6200label6.left = 600label9.left = 7080label7.left = 600label8.left = 7080text7.left = 3480text10.left = 9960text8.left = 3480text9.left = 9960mschart1.left = (form1.width - mschart1.width) / 2mschart1.top = (form1.width - mschart1.height) / 2 - 3000mschart2.left = (form1.width - mschart2.width) / 2mschart2.top = (form1.width - mschart2.height) / 2 - 3000mschart3.left = (form1.width - mschart3.width) / 2mschart3.top = (form1.width - mschart3.height) / 2 - 3000save.enabled = false 按键是否可用csjs.enabled = falsenihegongshi.enabled = falseyucejieguo.enabled = falserayleigh.enabled = falsenianchanliang.enabled = falseleijichanliang.enabled = falsedaochushuju.enabled = falseend subprivate sub daorushuju_click()label10.visible = falsedaochushuju.enabled = truecsjs.enabled = truegrid1.visible = truedim i as single, k as singleopen c:documents and settingsxx桌面基础数据.txt for input as #1i = 0k = grid1.rowswhile not eof(1)input #1, nf(i), kfsj(i), cl(i), ljcl(i)grid1.textmatrix(i, 0) = nf(i)grid1.textmatrix(i, 1) = kfsj(i)grid1.textmatrix(i, 2) = cl(i)grid1.textmatrix(i, 3) = ljcl(i)i = i + 1 if i grid1.rows - 1 then grid1.rows = i + 1wendif k grid1.rows then grid1.rows = grid1.rows - 1grid1.textmatrix(0, 0) = 年份grid1.textmatrix(0, 1) = 开发时间(a)grid1.textmatrix(0, 2) = 年产量104t/agrid1.textmatrix(0, 3) = 累计产量104t/aclose #1end subprivate sub daochushuju_click()if msgbox(是否导出, vbyesno) = vbyes thenopen c:documents and settingsxx桌面导出数据.txt for output as #1 for i = 1 to grid1.rows - 1 print #1, grid1.textmatrix(i, 0), grid1.textmatrix(i, 1), grid1.textmatrix(i, 2), grid1.textmatrix(i, 3), grid1.textmatrix(i, 4) 将数据保存到文本文档中 next iclose #1msgbox (导出成功)end ifend subprivate sub save_click()if msgbox(是否保存, vbyesno) = vbyes then open c:documents and settingsxx桌面数据保存.txt for output as #1for i = 1 to grid3.rows - 1print #1, grid3.textmatrix(i, 0), grid3.textmatrix(i, 1), grid3.textmatrix(i, 2), grid3.textmatrix(i, 3), grid3.textmatrix(i, 4), grid3.textmatrix(i, 5)next iclose #1msgbox (保存成功)end ifend subprivate sub csjs_click()nihegongshi.enabled = trueyucejieguo.enabled = truerayleigh.enabled = truelabel1.visible = truelabel2.visible = truelabel5.visible = truelabel4.visible = truetext2.visible = truetext3.visible = truetext5.visible = truetext6.visible = truemschart1.visible = falsemschart2.visible = falsemschart3.visible = falsedim n!n = 0for j = 1 to grid1.rows - 1 n = grid1.textmatrix(j, 2) + n grid1.textmatrix(j, 3) = nnext jfor j = 1 to grid1.rows - 1 最小二乘法 t(j) = grid1.textmatrix(j, 1) q(j) = grid1.textmatrix(j, 2) t2(j) = (t(j) 2 grid1.textmatrix(j, 4) = t2(j) lg(j) = log(q(j) / t(j) / log(10) grid1.textmatrix(j, 5) = lg(j) if j grid1.rows - 1 then grid1.rows = j + 1next jfor j = 2 to grid1.rows - 1 x = x + t(j) 2 z = z + log(q(j) / t(j) / log(10) zx = zx + log(q(j) / t(j) / log(10) * t(j) 2 xx = xx + (t(j) 2) 2next jtext2 = int(grid1.rows - 2) * zx - z * x) / (grid1.rows - 2) * xx - x 2) * 10000) / 10000text3 = int(z - text2 * x) / (grid1.rows - 2) * 10000) / 10000text5.text = format(10 (text3.text), 0.0000)text6.text = format(1 / (-form1.text2.text) / 2.3, 0.0000)end subprivate sub nihegongshi_click()text4.visible = truelabel3.visible = truetext4.text = lg(q/t)= & text2 & t2 & + & text3end subprivate sub yucejieguo_click()save.enabled = truenianchanliang.enabled = trueleijichanliang.enabled = truegrid1.visible = falsegrid3.visible = truelabel6.visible = truelabel7.visible = truelabel8.visible = truelabel9.visible = truetext7.visible = truetext8.visible = truetext9.visible = truetext10.visible = truelabel1.visible = falselabel2.visible = falselabel3.visible = falselabel5.visible = falselabel4.visible = falsetext2.visible = falsetext3.visible = falsetext4.visible = falsetext5.visible = falsetext6.visible = falsemschart1.visible = falsemschart2.visible = falsemschart3.visible = falsedim g!, a!, c!dim j(1 to 17) as stringdim h(1 to 17) as stringdim l(1 to 17) as stringfor i = 1 to grid3.rows - 1 grid3.textmatrix(i, 0) = grid1.textmatrix(i, 0) grid3.textmatrix(i, 1) = grid1.textmatrix(i, 1) grid3.textmatrix(i, 2) = grid1.textmatrix(i, 2) grid3.textmatrix(i, 3) = grid1.textmatrix(i, 3) grid3.textmatrix(i, 4) = grid1.textmatrix(i, 4) grid3.textmatrix(i, 5) = grid1.textmatrix(i, 5)next ig = 0for i = 1 to grid3.rows - 1l(i) = val(text2.text) * t(i) 2 + val(text3.text)h(i) = t(i) * 10 l(i)g = g + h(i)j(i) = ggrid3.textmatrix(i, 0) = grid1.textmatrix(i, 0) grid3.textmatrix(i, 2) = grid1.textmatrix(i, 2) grid3.textmatrix(i, 1) = grid1.textmatrix(i, 1) grid3.textmatrix(i, 3) = int(h(i) * 10000) / 10000 grid3.textmatrix(i, 4) = grid1.textmatrix(i, 3)grid3.textmatrix(i, 5) = int(j(i) * 10000) / 10000 next i a = 10 (text3.text) c = 1 / val(-text2.text) / 2.3 text7.text = int(0.5 * a * c * 10000) / 10000 text8.text = int(0.4289 * a * c 0.5 * 10000) / 10000 text9.text = int(0.707 * (c 0.5 * 10000) / 10000 text10.text = int(0.5 * a * c * (1 - 10 (-0.5) / 0.52137) * 10000) / 10000end subprivate sub rayleigh_click() label1.visible = falselabel1.visible = falselabel2.visible = falselabel3.visible = falselabel4.visible = falselabel5.visible = falselabel6.visible = falselabel7.visible = falselabel8.visible = falselabel9.visible = falsetext1.visible = falsetext2.visible = falsetext3.visible = falsetext4.visible = falsetext5.visible = falsetext6.visible = falsetext7.visible = falsetext8.visible = falsetext9.visible = falsetext10.visible = falsegrid1.visible = falsegrid3.visible = falsemschart2.visible = falsemschart3.visible = falsemschart1.visible = truedim n!, i!, mydata#(), t!(1 to 16), j%for j = 1 to grid1.rows - 1 t(j) = grid1.textmatrix(j, 1)next j n = grid1.rows - 1redim r(1 to n, 1 to n) as stringfor i = 1 to grid1.rows - 1r(i, 2) = log(q(i) / t(i) / log(10)r(i, 1) = t(i) 2next iredim mydata(n - 1, 3) as double -x轴坐标值-y轴坐标值- for i = 1 to grid1.rows - 1 第一点数据的x轴坐标,y轴坐标 mydata(i - 1, 0) = r(i, 1): mydata(i - 1, 1) = r(i, 2) mydata(i - 1, 3) = val(text2.text) * r(i, 1) + val(text3.text) mydata(i - 1, 2) = r(i, 1) next i 波形图外观设置with mschart1 .plot.seriescollection(1).pen.width = 30 .plot.seriescollection(1).pen.style = vtpenstylesolid .plot.axis(vtchaxisidx).valuescale.auto = false .plot.axis(vtchaxisidy).valuescale.auto = false .plot.axis(vtchaxisidx).valuescale.maximum = 300 .plot.axis(vtchaxisidy).valuescale.maximum = 3 .plot.axis(vtchaxisidy).valuescale.minimum = 0 .plot.axis(vtchaxisidx).valuescale.minimum = 0 .plot.axis(vtchaxisidx).valuescale.majordivision = 12 .plot.axis(vtchaxisidy).valuescale.majordivision = 10 .plot.axis(vtchaxisidx).valuescale.minordivision = 0 .plot.axis(vtchaxisidy).valuescale.minordivision = 0 .plot.axis(vtchaxisidx).axisgrid.majorpen.style = vtpenstyledotted .plot.axis(vtchaxisidy).axisgrid.majorpen.style = vtpenstyledotted mschart1.plot.autolayout = false mschart1.plot.uniformaxis = false mschart1.charttype = vtchcharttype2dxy mschart1.chartdata = mydata .plot.axis(vtchaxisidx, 0).axistitle = t2 .plot.axis(vtchaxisidy, 0).axistitle = lg( q/t) dim index as in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆丰都县2025年上半年事业单位公开遴选试题含答案分析
- 毛皮市场:繁荣与机遇
- 河北省文安县2025年上半年事业单位公开遴选试题含答案分析
- 2025版石子行业绿色采购与销售战略合作协议
- 2025年度消防设备租赁与维护三方合作协议
- 2025版网络安全软件技术服务合同
- 2025定制加工合同范本:珠宝首饰定制加工合作协议
- 2025版新媒体内容运营与推广社会化媒体营销服务协议
- 2025版石材进出口贸易与金融服务合同
- 2025版彭园一处场地招租与电子商务平台合作协议
- 2023年版企业投资项目可行性研究报告编写参考大纲
- 陕西省中考数学历年(2016-2022年)真题分类汇编专题8四边形及答案
- 沈阳市双倍德化学厂锅炉改造项目环评报告
- GB/T 923-2009六角盖形螺母
- GB/T 35690-2017弱磁材料相对磁导率的测量方法
- 学会关心-教育的另一种模式课件
- JB∕T 13977-2020 液化天然气(LNG)低温潜液泵
- 口咽通气道的使用方法
- 消防火灾自动报警主机更换(增加)施工方案
- 山西省太原市小升初语文试卷(含答案)
- 质量管理统计工具(共102页).ppt
评论
0/150
提交评论