洪湖市实验初级中学无限级

【技术】无限级压裂技术新进展
点击上方“公众号”可以订阅哦!压裂作业后级数的多少是评价压裂作业成功与否的重要指标,为了进一步提高单井压裂级数,国外公司纷纷研发出各具特色的无限级分段压裂完井系统。什么是“无限极压裂技术”?无限级压裂技术采用新型无级差套管滑套,根据油气藏产层情况确定滑套安放位置后,按照确定的深度将多个针对不同产层的滑套与套管一趟下入井内,然后实施常规固井,再依托配套工具依次打开各层滑套并分段压裂施工,以实现一趟管柱多层压裂。可用于非常规油气藏的增产改造,也可作为油气井生产时分层开采及封堵底水的有效手段。NCS能源服务公司Multistage Unlimited压裂系统组成:连续油管、内部推移滑套、可重复坐封封隔器、滑套定位器、泄压短节、喷砂射孔总成等设备部件核心工具:可重复坐封封隔器(封隔下部层位;机械打开滑套;在压裂或备用喷砂射孔时锚定封隔器总成。)应用:自2011年问世以来就投入了现场应用。2013年4月,在Bakken盆地一口水平段长达3200多米的井中一次性完成了50级压裂。2013年7月,在Torquay地层一口垂深2401米、水平段长3324米的水平井中5天内完成了60级压裂。2014年3月,首次将无限级压裂系统与高流速滑溜水相结合,在Cardium地层两口水平井中成功实施了多级压裂作业,每口井的压裂级数大于60,其中一口井在24小时内完成了40级压裂;2014年5月,在Eagle Ford单井中完成了92级压裂,创造了压裂级数的世界纪录,其中有80级是由一趟管柱完成压裂的。随后该公司又在Bakken分别以93级、94级和104级多次刷新了该记录。截止到目前,该压裂系统已在5723口井进行了应用,完成了95420级压裂,累计向地层中注入支撑剂127万吨,一趟管柱最多进行了97级压裂,单井最高压裂级数纪录为93级,压裂井的最大垂深为4681米,最大测量井深为6256米。BJ公司OptiPort压裂工具组成:套管滑套和井下工具组合(BHA)。BHA主要包括:接箍定位器、节流阀、锚定装置和封隔器应用:主要作业于北美地区,截至目前,OptiPort压裂工具已在北美地区施工超过1000口井,压裂级数超过10000级,为高效实现页岩气等非常规油气藏开发提供了宝贵的经验。贝克休斯HCM套管滑套组成:液控管线、内套及密封组件。优势:结构简单,无需下入特定工具对内套进行打开、关闭操作。滑套内套设计有台肩,可通过下入连续管工具与内套台肩配合进行滑套启闭补救施工。滑套内套开关压差2-3兆帕,活塞排液量约240毫升,因此,滑套在井底能对地面的液压控制产生及时响应,确保滑套开关快捷、准确;同时,滑套具有较好的过流性能。应用:在欧洲北海油田进行了试验性应用。采用HCM套管滑套后大大节约了后期修井维护成本,同时产量也明显提高。通过对滑套进行控制,有效调节地层产能,延长油气井寿命,为油气井高产、稳产提供了保障。斯伦贝谢TAP压裂系统组成:启动阀、中继阀、飞镖以及后期进行滑套关闭的连续管工具。TAP阀主要由阀体、内滑套、活塞和C形环等。目前TAP压裂完井系统仅适用于200毫米以上井眼和114.3毫米套管。受尺寸限制,TAP阀现场应用时最大井斜不超过68°,最大狗腿度每30米为25°,滑套入井后间距大于3米,因此,对油气藏厚度有一定要求。滑套整体耐压达到70兆帕,耐温160℃。飞镖直径为88.9毫米,压裂结束后,飞镖返排至上层滑套球座下部,并形成过流通道,过流面积相当于73毫米油管,因此可有效确保后期排液、生产不会形成阻塞。威德福ZoneSelect Monobore分段压裂系统组成:套管滑套和连续管开关工具,套管滑套结构主要由本体和内滑套组成,设计了内滑套向上开启和向下开启2种结构形式,且内滑套上带有锁定机构,防止其在开关位置发生移动影响密封性能。功能:滑套本体泄流孔外侧覆盖有复合材质的保护层,可有效阻止固井施工时水泥浆和岩屑进入滑套内,影响滑套开关性能。此外,利用连续管将配套的开关工具下入井内滑套安装位置,通过井口开泵循环,工具产生节流压差,开关工具锁块外露,与内滑套台肩配合并锁紧,通过上提下放管柱开启、关闭滑套。停泵后,锁块收回,开关工具与内滑套脱离即可提出管串。应用:早期主要应用于北美地区,广泛用于水平井、大斜度井和直井,其耐压强度最高达到134兆帕,适用井下温度最高达到163℃。连续管开关工具最大可配套使用的连续管为60.3毫米,确保油套环空过流面积和储层压裂效果。结束语上述几种无限级压裂设备各具特点:从滑套作用方式来说斯伦贝谢、BJ和贝克休斯的套管滑套采用液压开启方式,滑套打开关闭动作响应迅速,有效避免机械打开可靠性难以保证的弊端;从滑套入井安全性来说,威德福、NCS和BJ的滑套结构简单,在管柱中各自独立,入井时按照常规操作随套管一并下入;从压裂施工工艺来说,斯伦贝谢和贝克休斯的工具应用于分段压裂时,工艺流程简单,无需下入其他管柱,不需多次起下管柱进行开关滑套操作,针对压裂级数较多的场合,有利于提高施工效率。值得一提的是,Multistage Unlimited压裂系统综合了传统的桥塞分段射孔压裂以及投球滑套分段压裂的优点,采用连续管拖动由可重复坐封封隔器组成的压裂-隔离总成,并将其与可开关滑套以及水力喷砂射孔器相结合,可以实现非常高效的单次无限级数压裂。这套技术与常规的投球滑套压裂和桥塞分段射孔压裂相比在裂缝位置控制、压裂效率、压裂液用量、实时压力监测等方面展现出了优越的性能。由于泵送集中到一个压裂点,压裂速度更快而且能量耗散小,所需的马力为传统技术的三分之一。由于压裂高效并且无需泵送封隔球及桥塞,可以节水20%以上。(,来源:油气经纬)泉州市双环贸易发展有限公司点击右上角可分享给朋友长按识别下面的二维码会有惊喜噢!微信ID:TWINDISC
用友ERP最新文章
微信号:yongyou-2013扫描二维码关注公众号 用友软件技术服务、奉行&与用户真诚合作,做用户可靠朋友&的服务宗旨,成为你企业管理的绝佳伙伴.
Copyright2017.杨邱自媒体资讯站,让大家及时掌握各行各业第一手资讯新闻!关于无限级理解,及其树形结构 - CSDN博客
关于无限级理解,及其树形结构
首先在表中含有parent_id字段
树级菜单的顶层parent_id=0
那么如何根据顶层菜单查找它所属的子级菜单呢?
思路如下 :
首先找到parent_id=0的记录(可以有多条,意味的多条顶级菜单);
根据该条记录的id(此id作为子级菜单的parent_id),查找parent_id为该条记录的id
一直递归下去即可
下面给出一段例子
(1, '商品列表', 'Admin', 'Goods', 'lst', 3),
(2, '添加商品', 'Admin', 'Goods', 'add', 1),
(3, '商品管理', 'null', 'null', 'null', 0),
(4, '修改商品', 'Admin', 'Goods', 'edit', 1),
(5, '删除商品', 'Admin', 'Goods', 'delete', 1),
(6, '商品分类列表', 'Admin', 'Category', 'lst', 3),
(7, '添加分类', 'Admin', 'Category', 'add', 6),
(8, '修改分类', 'Admin', 'Category', 'edit', 6),
(9, '删除分类', 'Admin', 'Category', 'delete', 6),
通过parent_id=0,找到商品管理的id=3,
通过parent_id=3,找到商品列表(id=1),商品分类列表(id=6)
通过parent_id=1,parent_id=6,即可找到其子级分类
但是这种做法还是存在局限性,
经过实践得出了一些比较好的做法
表结构中包含三个字段level,is_leaf,parent_id
level表示的是显示时的空格
isleaf表示该记录是否有子记录
在javabean加一个属性List,包含它的所有子级
进过几次优化,给出树形递归算法!:
private void getTree(Integer groupId,int num,StringBuilder tree) {
CategoryS categoryS = new CategoryS();
List&CateTain& cateTains = categoryS.getTree(groupId);
StringBuilder sb = new StringBuilder();
if (!cateTains.isEmpty()) {
int m = 0;
for (CateTain userGroup : cateTains) {
sb.append("&option value=\"").append(userGroup.getId()).append("\"&");
for (int i = 1; i & i++) {
sb.append("&&&&&");
if (num != 1) {
if (m & (cateTains.size() - 1)) {
sb.append("&&├&");
sb.append("&&└&");
sb.append("&&");
sb.append(userGroup.getCat_name());
sb.append("&/option&");
getTree(userGroup.getId(), num,tree);
tree.append(sb.toString());
如何使用:
StringBuilder tree = new StringBuilder();
getTree(0,0,tree);
System.out.println(tree);
其中num表示树结构的深度,默认传入0,parentId表示父级id,
m用来表示是否是最后一个元素!!!
2:第二种采用的是依次解析父子关系,一般大多数树的深度并不深,我们可以依次解析。从第三层加list,到第二层:
for (Order_category_2 order_category_2:category_2list){
List&Order_category& categories = new ArrayList&&();
for (Order_category category:category_list){
if (Objects.equals(category.getParent_id(),order_category_2.getId())){
categories.add(category);
order_category_2.setOrder_categories(categories);
for (Order_category_1 order_category_1:category_1list){
List&Order_category_2& category_2s = new ArrayList&&();
for (Order_category_2 category_2:category_2list){
if (Objects.equals(category_2.getParent_id(), order_category_1.getId())){
category_2s.add(category_2);
order_category_1.setCategory_2List(category_2s);
这样的代码思路非常清晰,一层一层解析树!!!!
本文已收录于以下专栏:
相关文章推荐
     * 加载首页模板
     *
     * @author YING
     * @param void
     *...
空间,贴吧回复三种解决方案介绍
function sort($category,$parent_id=0,$level=0){
static $arr=array();
foreach($catego...
无限级分类多用于商品的分类
其原理就是调用函数体本身,通过传递的参数不同,则查出的数据不同
无限级分类对表的设计有着要求,子类中必须有父类的id,如果是顶级分类id则父级id(parent_id)的值...
这里记录一下
public static List getTreeDep(List depList,Long parentId){
List mapList=new ArrayLis...
php无限极分类
这里首先介绍一下,什么是无限极分类?无限极分类简单点说就是一个类可以分成多个子类,然后一个子类又可以分另外多个子类这样无限分下去,就好象windows可以新建一个文件夹,然后在这个...
/topic/1119961
var zNodes=[
{id:0,pId:-1,name:&Aaaa&},
数据结构中利用树形结构解决实际问题的实例
他的最新文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)用层级关系字段输出无限级分类 -- 简明现代魔法

我要回帖

更多关于 湖北省洪湖籍厅级官员 的文章

 

随机推荐