智能钻完井
全球科技正向着数字化、信息化、智能化方向发展,油气行业向智能化钻完井方向发展是必然趋势。基于大数据、人工智能、云计算、物联网、信息工程和控制工程等学科交叉,应用Python语言通过钻井历史数据、实时数据与AI算法结合,逐步实现钻井钻前预测、方案设计、实时评价、诊断、优化等工作的代码编译,为安全、高效、经济、优质钻完井提供技术支持。
小游园
30天从入门到放弃;30天从入门到精通。
展开
-
pyhton_基尼指数计算
1.定义:基尼指数(基尼不纯度):表示在样本集合中一个随机选中的样本被分错的概率。 注意: Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。def gini_index_single(a,b): single_gini = 1 - ((a/(a+b))**2) - ((b/(a+b))**2) return round(single_gini,4)# 求取基尼指数def gini_index(a,b,c,d,e,f...原创 2020-07-01 14:45:29 · 1516 阅读 · 0 评论 -
ANSYS MESHING网格种类及区别
在ANSYS网格划分中,存在多种网格划分方法,如补片独立、补片协调、多区等方法,不同的划分方法有着不同的功能和结果,在一个复杂结构的网格划分中,不同的网格划分方法通过扮演不同的角色,来解决网格质量问题。下面介绍几种网格划分方法:①补片协调算法(Patch Conforming)补片协调算法是四面体网格类型中的一种算法,也是MESHING默认的一种算法,这种方法计算速度快,但网格质量一般。②补片独立算法(Patch Independent)补片独立算法也是四面体算法中的一...原创 2020-07-01 14:44:21 · 13089 阅读 · 0 评论 -
fluent动网格profile文件的编写
在fluent中指定部件运动主要有两种方式:profile文件和UDF宏文件。当运动方程已知时,利用UDF宏指定运动非常方便,而profile方法则适合当需要指定的运动无任何函数关系的情况。标准瞬态Profile文件可表述为以下格式:((profile-name transient n periodic?)(field_name_1 a1 a2 a3…an)(field_name_2 b1 b2 b3…bn)...(field_name_r r1 r2 r3 …rn))原创 2020-07-01 14:40:47 · 10550 阅读 · 1 评论 -
Python绘图布局、图例说明、边界
当绘画完成后,会发现X、Y轴的区间是会自动调整的,并不是跟传入的X、Y轴数据中的最值相同。为了调整区间可以使用下面的方式:ax.set_xlim([xmin, xmax]) #设置X轴的区间ax.set_ylim([ymin, ymax]) #Y轴区间ax.axis([xmin, xmax, ymin, ymax]) #X、Y轴区间ax.set_ylim(bottom=-10) #Y轴下限ax.set_xlim(right=25) #X轴上限具体效果如...原创 2020-07-01 14:39:54 · 10901 阅读 · 0 评论 -
使用python对Apriori算法进行学习
Apriori的原理解释:假设我们在经营一家商品种类并不多的杂货店,我们对那些经常在一起被购买的商品非常感兴趣。我们只有4种商品:商品0,商品1,商品2和商品3。那么所有可能被一起购买的商品组合都有哪些?这些商品组合可能只有一种商品,比如商品0,也可能包括两种、三种或者所有四种商品。我们并不关心某人买了两件商品0以及四件商品2的情况,我们只关心他购买了一种或多种商品from numpy import *def loadDataSet(): return [[1, 3, 4], [2, 3.原创 2020-06-15 15:24:34 · 635 阅读 · 0 评论 -
Python break语句
Python break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。 如下例:for letter in 'Python': # 第一个实例 if letter == 'h': break print '当前字母 :', letter var =.原创 2020-06-15 15:23:44 · 800 阅读 · 0 评论 -
python list列表添加元素
Python中使用+运算符可以将多个序列连接起来;列表是序列的一种,所以也可以使用+进行连接,这样就相当于在第一个列表的末尾添加了另一个列表。language = ["Python", "C++", "Java"]birthday = [1991, 1998, 1995]info = language + birthdayprint("language =", language)print("birthday =", birthday)print("info =", in..原创 2020-06-15 15:23:07 · 3420 阅读 · 0 评论 -
solidworks静力学分析概述
在之前的文章中,我们介绍了solidworks的流体分析模块,本期我们将介绍solidworks的静力学分析模块。静力学分析模块是SOLIDWORKS Simulation插件下的一个子分析模块,这个分析插件还可进行热力分析、频率分析、跌落测试和非线性分析等有限元分析。步骤一:新建一个要分析的模型:步骤二:首先启动SOLIDWORKS Simulation插件:启动后如图所示:步骤三:新建静力学分析算例步骤四:为模型添加固定载荷步骤五:为模型添加外部载荷原创 2020-06-15 15:22:07 · 13242 阅读 · 1 评论 -
模态分析结果的输出实例
/clear,start mass=83500 /prep7 k,1,0,0,0 k,2,10000,0,0 lstr,1,2 et,1,beam44 et,2,mass21 R,1,186160,178980000000,56238000000,1278,680,128980000000, RMODIF,1,21,1278,680, RMODIF,1,25,76160,110000,0,0,7.0678e-009,0, *do,i,1,5 j=i*1000原创 2020-06-08 17:44:57 · 3163 阅读 · 0 评论 -
使用python对决策树算法进行学习
#-*-coding:utf-8-*-from math import logimport operatordef calcShanonEnt(dataSet): ''' 计算给定数据集的香农熵 :param dataSet: :return:shanonEnt ''' numEntries = len(dataSet) labelCounts={} for featVec in dataSet: currentLab.原创 2020-06-08 17:43:57 · 345 阅读 · 0 评论 -
Python函数定义和调用
Python中函数的应用非常广泛,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。除了可以直接使用的内置函数外,Python还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写、多次调用的目的。如len() 函数,通过它我们可以直接获得一个字符串的长度,如果没有 len() 函数,要想获取一个字符串的长度,可用如下代码:n=0for c in "http://c.biancheng.net原创 2020-06-08 17:42:07 · 2169 阅读 · 0 评论 -
abaqus钻头钻进模拟
在之前的文章中,笔者介绍了二维切削的模拟方法,本次笔者将介绍三维钻头钻进岩石的模拟方法。步骤一:准备模型由于在abaqus中绘图和装配比较繁琐,笔者选择在solidwork中提前建好模型,并进行装配,再以x.t格式存储和导入abaqus。步骤二:材料属性的设置材料属性的设置比较重要,它直接影响到模拟结果的准确性,由于本次是做算例讲解,为了简便仅给出基础数据:岩石属性:密度:2.79e-009;弹性:杨氏模量:70000,泊松比:0.33塑性:钻头属性:传导原创 2020-06-08 17:40:47 · 5474 阅读 · 4 评论 -
TensorFlow2.0代码案例
import tensorflow as tfimport numpy as npinput_xs = np.random.rand(1000)input_ys = 3 * input_xs + 0.217weight = tf.Variable(1., dtype=tf.float32, name="weight")bias = tf.Variable(1., dtype=tf.float32, name="bias")def model(xs): logits = tf.mult.原创 2020-06-08 17:39:07 · 1917 阅读 · 0 评论 -
陶瓷杆撞击铝板的例子
APDL:/filename,barplate /title,Impact Of A Bar Into A Plate /PREP7 /view,,1,2,3 /plopts,info,1 /pbc,all,1 /pnum,mat,1 /num,1 ET,1,SOLID164 ! --- Enter Ceramic Material Properties For Bar mpmod,1,1 mp,ex,1,330e9 mp,nuxy,1,.24 mp,dens,1,8400 .原创 2020-06-02 00:26:46 · 497 阅读 · 0 评论 -
使用python对信息熵进行计算
在机器学习中的决策树类算法中主要依靠信息熵的大小来选择重要的特征属性作为节点换分数据集从而获得训练结果#-*-coding:utf-8-*-from math import logimport operatordef calcShanonEnt(dataSet): ''' 计算给定数据集的香农熵 :param dataSet: :return:shanonEnt ''' numEntries = len(dataSet) labelCou原创 2020-06-02 00:25:59 · 3148 阅读 · 0 评论 -
Python for循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。语法:for循环的语法格式如下:for iterating_var in sequence: statements(s)实例for letter in 'Python': # 第一个实例print '当前字母 :', letterfruits = ['banana', 'apple', 'mango']for fruit in fruits: # 第二个实例print '当前水果 :'...原创 2020-06-02 00:25:07 · 332 阅读 · 0 评论 -
Python算术运算符用法
print()函数使用以%开头的转换说明符对各种类型的数据进行格式化输出。+ 加法运算符加法运算符很简单,和数学中的规则一样:m = 10n = 97sum1 = m + nx = 7.2y = 15.3sum2 = x + yprint("sum1=%d, sum2=%.2f" % (sum1, sum2) )运行结果:sum1=107, sum2=22.50拼接字符串当+用于数字时表示加法,但是当+用于字符串时,它还有拼接字符串(将两个字符..原创 2020-06-02 00:24:16 · 1250 阅读 · 0 评论 -
solidworks流体模拟分析概述
Solid works是一款极为简便的三维建模软件,同时该软件又集合了运动分析、静力学分析和流体力学分析等模块。本次我们将讲解solidworks流体分析模块。首先我们新建一个流道模型:然后加载solidworks流体分析模块:然后将流道两端封堵,创建封盖:通过向导创建流体分析项目:通过向导设置单位、流体性质、传热方式等。设置完成后即可进入流体分析设置,软件会自动判断计算的流体区域,当然也可通过拖动滚动条自行设置计算域。在流体分析设置中,我们主要设计流原创 2020-06-02 00:23:11 · 25433 阅读 · 2 评论 -
接触面上的压力总和
单面接触用于当一个物体的外表面与自身接触或和另一个物体的外表面接触时使用。单面接触是 ANSYS/LS-DYNA 中最通用的接触类型,因为程序将搜索模型中的所有外表面,检查其间是否相互发生穿透。由于所有的外表面都在搜索范围内, 不需要定义接触面与目标面。在预先不知接触情况时,单面接触非常有用。相对于 ANSYS 隐式分析, ANSYS/LS-DYNA 的单面接触不会非常耗时。 大多数冲击与碰撞问题需要定义单面接触当接触面之间的穿透超过接触单元厚度的 40%时,单面接触自动释放接触,从而对下列问题造...原创 2020-05-25 11:19:33 · 2023 阅读 · 1 评论 -
机器学习笔记对sklearn的线性回归器进行学习
#-*-coding:utf-8-*-from sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_splitimport numpy as npfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LinearRegressionfrom sklearn.linear_mo.原创 2020-05-25 11:18:56 · 499 阅读 · 0 评论 -
python字符串拼接、查找、分割、替换
1.字符串定义字符串:以双引号或单引号包围的数据2.字符串的拼接练习:a = 'hello'b = 'world'c = a + bprint(c)运行结果:helloworld3.字符串的查找方法 count 计数功能,返回自定字符在字符串中的个数 find 查找,返回从左第一个指定字符的索引,找不到返回-1 rfind 查找,返回从右第一个指定字符的索引原创 2020-05-25 11:18:03 · 466 阅读 · 0 评论 -
ABAQUS切削模拟
步骤:1、模型创建(岩石模型上的横线主要是为了划分网格用)2、此处省略材料设置3、装配将零部件装配到如图所示位置,并在刀尖处设置参考点4、网格设置岩石全局种子大小设为2,在岩石被切削部分布置较小单元的种子,刀具与岩石的接触面设置局部种子。指派单元累心为Explicit-温度-位移耦合,单元以四边形为主。5、分析步设置时间长度设置为0.01。场输出请求勾选STATUS和作用力与反作用力。历程输出请求勾选作用力/反作用力下的RF,反作用力和扭矩,...原创 2020-05-25 11:17:19 · 6801 阅读 · 1 评论 -
地层三压力预测
# -*- coding: UTF-8 -*-import mathimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei']mpl.rcParams['axes.unicode_minus'] = False# ==================================...原创 2020-05-25 11:16:02 · 4132 阅读 · 6 评论 -
一个圆形水池的静力分析
APDL:/prep7 !------------------------------------------- ET,1,SHELL63 !壳单元 MP,EX,1,2.1e5 !C20 混凝土 MP,NUXY,1,0.2 R,1,200, , , , , , !壁厚 200 R,2,150, , , , , , !肋厚 150 !------------------------------------------- !建模 k,1,0,0,0 k,2,325,0,0 k,3,32.原创 2020-05-18 14:27:39 · 905 阅读 · 0 评论 -
pyhton_批量文本整合进单一文本
将多个文本整合到单个文本中方便后续进行数据处理#-*-coding:utf-8-*-import os,shutilfor i in range(1,10): file_list=os.listdir("word_count\\"+str(i)) for file in file_list: with open("word_count\\"+str(i)+'\\'+file,'r',encoding='utf-8',errors='ignore') as f:原创 2020-05-18 14:27:04 · 168 阅读 · 0 评论 -
Python条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。Python 编程中 if 语句用于控制程序的执行,基本形式为:if 判断条件: 执行语句……else:执行语句……其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。...原创 2020-05-18 14:26:05 · 384 阅读 · 0 评论 -
Python符串格式化输出
print()函数使用以%开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。转换说明符只是一个占位符,它会被后面表达式(变量、常量、数字、字符串、加减乘除等各种形式)的值代替。【实例】输出一个整数:age=8print("C语言中文网已经%d岁了!"%age)运行结果:C语言中文网已经8岁了!在print()函数中,由引号包围的是格式化字符串,它相当于一个字符串模板,可以放置一些转换说明符(占位符)。本例的格式化字符串中包含一个%s说明符,它最终会被后..原创 2020-05-18 14:25:20 · 457 阅读 · 0 评论 -
matlab判断图中距离几个点总距离最小的点的坐标
本方法可用于寻找距离图中几个点总距离最小的点的坐标,在储运联合站位置选择等方面可以应用。下面附详细代码:clear;clc;x=[39496497 39498814 39495320 39498306 39501067];y=[4218695 4218832 4218558 4217348 4217954];dist=@(var) sum(sqrt((var(1)-x).^2+(var(2)-y).^2));%var(1)=x;var(2)=yvar0=rand(2,1);[var,minD.原创 2020-05-18 14:24:37 · 6575 阅读 · 0 评论 -
python双增式轨道设计
import pandas as pdimport numpy as npfrom numpy import sinfrom numpy import cosfrom numpy import tanfrom numpy import arctanfrom numpy import arccosimport matplotlib.pyplot as pltfrom pylab import mplfrom mpl_toolkits.mplot3d import Axes3Dmpl....原创 2020-05-18 14:23:43 · 590 阅读 · 1 评论 -
关于聚类分析方法的一些探讨
在之前的文章中,我们介绍了一种利用岩石抗压强度进行PDC钻头选型的软件,软件需要我们输入岩石的单轴或三轴抗压强度以及层段深度。由于层段的深度对结果产生很大的影响,因此采用了聚类分析的方法对得到的数据进行了处理。本文奖简单介绍聚类分析的基本概念和应用方法。以PDC选型软件为例,需要输入层段深度和对应参数,从而得到整个地层的参数。聚类分析的基本思想是在不破坏原有顺序条件下将N个样品分别分割为L段,设Xkj表示第k(k=1,2。。。N)段第j(j=1,2,3。。。N)段样品的指标, 表示第k段指标的平均值,.原创 2020-05-10 18:50:19 · 341 阅读 · 0 评论 -
ABAQUS模拟裂纹扩展方法——Debond
ABAQUS模拟裂纹扩展方法——DebondDebond分析技术是ABAQUS模拟计算裂纹扩展的技术之一,其主要思路是通过定义一个粘接主面和粘接从面,并且定义在粘接从面上的节点集合,从而主面和从面通过这些节点粘接在一起,然后再指定粘接接触属性及断裂准则,在荷载或位移加载下,达到准则临界值时,节点断裂离开主面,从而产生裂纹扩展,其有局限性就是只能用于二维裂纹扩展。定义粘接裂纹面 定义初始状态(initial condition)以识别裂纹绑定部分。通过可以定义接触从面(slave surf...原创 2020-05-10 18:48:16 · 18673 阅读 · 5 评论 -
使用Python对文本进行共现统计
#-*-coding:utf-8-*-import pandas as pdlist=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']word_list=[]for i in range(0,len(list)): for j in range(0,len(list)): word_list.append([list[i],list[j]])data={}for k.原创 2020-05-10 18:43:43 · 3334 阅读 · 0 评论 -
图像卷积及其Python实现
卷积简介卷积(Convolution)是数学上的一种积分变换,主要作用是为了获取某个函数的局部信息,被广泛应用于信号、图像和机器学习等领域。本文给出了图像卷积的Python实现。算法实现from PIL import Imageimport numpy as npimport matplotlib.pyplot as pltclass ImageCov( object ): ...原创 2020-05-04 11:19:41 · 4640 阅读 · 4 评论 -
pyhton_机器学习笔记对sklearn的集成分类器进行学习
使用泰坦尼克生还数据集,利用sklearn决集成分类器对对其进行预测分类,#-*-coding:utf-8-*-import pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.feature_extraction import DictVectorizerfrom sklearn...原创 2020-05-04 11:18:34 · 409 阅读 · 0 评论 -
python自学
#集合:是无序的、不重复的;1、去重;2、关系测试#创建集合#创建数字集合number=set([1,3,5,7,9]) #数字型集合str_type=set(["im","is","are"])#字符串集合#列表转换成集合list_1=[1,4,5,7,9]list_1=set(list_1) #赋值print(list_1,type(list_1))#type(...原创 2020-05-04 11:17:48 · 357 阅读 · 0 评论 -
Python字符串及其基本操作
Python要求字符串必须使用引号括起来,使用单引号也行,使用双引号也行,只要两边的引号能配对即可。Python字符串和转义字符字符串既可用单引号括起来,也可用双引号括起来,它们没有任何区别。例如如下程序:str1 = 'Charlie'str2 = "C语言中文网"print(str1)print(str2)如果字符串内容本身包含了单引号或双引号,此时就需要进行特殊处...原创 2020-05-04 11:17:07 · 442 阅读 · 0 评论 -
地层破裂压力预测方法
1、破裂压力预测方法及模型的发展自19世纪以来, 预测地层破裂压力的方法层出不穷, 直接的方式是在现场取样, 采用水压致裂的方法, 但其以弹性力学为基础, 要求地层性质符合一定的条件, 且由于成本过高、操作过程繁琐, 所以一般只在代表 性地层进行。除直接测量外, 还有其他间接的测量方法, 如测井资料预测法, 其中之一的方式是利用声波的全波资料确定地层的破裂压力;再者是采用数学模型预测破裂压...原创 2020-05-04 11:16:27 · 3063 阅读 · 0 评论 -
基于扩展有限元多段压裂裂缝模拟
题目:基于扩展有限元的多多段压裂裂缝的扩展模拟单位;kg-m-s/N /Pa1.部件(part1)二维平面模型矩形工具(-50,-50)(50,50)进入mesh模块定义全局网格尺寸0.5,指定网格类型:CPE4P(Part2)预制裂缝二维平面模型(0,-0.5)(0,0.5)进入mesh模块定义全局网格尺寸0.5网格剖分指定单元类型:T2D2...原创 2020-05-04 11:15:25 · 1243 阅读 · 0 评论 -
matlab gui表格的设置和编辑方法
在matlab gui界面设计时,常常用到表格,用于输入或导入数据,从而进行计算。本期将讲解matlab gui的表格控件的设置和使用方法。首先在gui界面中建立一个表格:双击表格进入属性界面:在Data中可以编辑表格的行、列属性,包括名称、数量、宽度是否可编辑等。记住属性中的Tag(标签)名称,这个名称为表格所对应的句柄名,用于传输数据使用。一般情况下,表格默认的设置...原创 2020-05-04 11:14:29 · 19702 阅读 · 4 评论 -
python求最优解
以股票求资金最优组合为例原理如下,输入数据尚未给定#构建有效前沿,指定收益率,波动率最小,求资金组合import scipy.optimize as scodef f(w): w=np.array(w) Rp_opt=np.sum(w*R_mean) Vp_opt=np.sqrt(np.dot(w,np.dot(R_cov,w.T))) return n...原创 2020-05-04 11:13:36 · 3021 阅读 · 0 评论