钻具组合由钻杆、钻铤、钻头组成,为三类钻具设计类,并通过代码实现将钻 杆、钻铤和砖头组合起来
class drillPipe { //钻杆
private float innerDiameter;//内径
private float outerDiameter;//外径
private float bracketInnerDiameter;//节箍内径
private float bracketOuterDiameter;//节箍外径
private float wallThickness;//壁厚
private float weight;//单位重量
private int number;//钻杆数量
private float length;//钻具长度
public drillPipe(float innerDiameter, float outerDiameter, float bracketInnerDiameter, float bracketOuterDiameter, float wallThickness, float weight, int number, float length) {
this.innerDiameter = innerDiameter;
this.outerDiameter = outerDiameter;
this.bracketInnerDiameter = bracketInnerDiameter;
this.bracketOuterDiameter = bracketOuterDiameter;
this.wallThickness = wallThickness;
this.weight = weight;
this.number = number;
this.length = length;
}
public float getInnerDiameter() {
return innerDiameter;
}
public float getOuterDiameter() {
return outerDiameter;
}
public float getBracketInnerDiameter() {
return bracketInnerDiameter;
}
public float getBracketOuterDiameter() {
return bracketOuterDiameter;
}
public float getWallThickness() {
return wallThickness;
}
public float getWeight() {
return weight;
}
public int getNumber() {
return number;
}
public float getLength() {
return length;
}
}
class drillCollar { //钻铤
private float innerDiameter;//内径
private float outerDiameter;//外径
private float wallThickness;//壁厚
private float weight;//单位重量
private int number;//钻铤数量
private float length;//钻具长度
private float totalLengh;//钻具总数量
public drillCollar(float innerDiameter, float outerDiameter, float wallThickness, float weight, int number, float length) {
this.innerDiameter = innerDiameter;
this.outerDiameter = outerDiameter;
this.wallThickness = wallThickness;
this.weight = weight;
this.number = number;
this.length = length;
}
public float getInnerDiameter() {
return innerDiameter;
}
public float getOuterDiameter() {
return outerDiameter;
}
public float getWallThickness() {
return wallThickness;
}
public float getWeight() {
return weight;
}
public int getNumber() {
return number;
}
public float getLength() {
return length;
}
public float getTotalLengh() {
return totalLengh;
}
}
class drillBit { //钻头
private float weight;//重量
private float size;//尺寸
private float waterEye1;//水眼1
private float waterEye2;//水眼2
private float waterEye3;//水眼3
private float useTime;//使用时间
private float maxPressure;//最大承压
public drillBit(float weight, float size, float waterEye1, float waterEye2, float waterEye3, float useTime, float maxPressure) {
this.weight = weight;
this.size = size;
this.waterEye1 = waterEye1;
this.waterEye2 = waterEye2;
this.waterEye3 = waterEye3;
this.useTime = useTime;
this.maxPressure = maxPressure;
}
public float getWeight() {
return weight;
}
public float getSize() {
return size;
}
public float getWaterEye1() {
return waterEye1;
}
public float getWaterEye2() {
return waterEye2;
}
public float getWaterEye3() {
return waterEye3;
}
public float getUseTime() {
return useTime;
}
public float getMaxPressure() {
return maxPressure;
}
}
class drillCombination { //钻具组合
private float wellDepth;//井深
private float drillToolTotalLength;//钻具总长度
private drillPipe drillPipe; // 钻杆
private drillCollar drillCollar; // 钻铤
private drillBit drillBit; // 钻头
public drillCombination(float wellDepth, float drillToolTotalLength, drillPipe drillPipe, drillCollar drillCollar, drillBit drillBit) {
this.wellDepth = wellDepth;
this.drillPipe = drillPipe;
this.drillCollar = drillCollar;
this.drillBit = drillBit;
}
public float getWellDepth() {
return wellDepth;
}
public float getDrillToolTotalLength() {
return drillToolTotalLength;
}
public drillPipe getDrillPipe() {
return drillPipe;
}
public drillCollar getDrillCollar() {
return drillCollar;
}
public drillBit getDrillBit() {
return drillBit;
}
public void printCombinationDetails() {
System.out.println("井深:" + wellDepth + " ft");
System.out.println("钻具组合信息:");
System.out.println("钻杆:");
System.out.println(" 内径:" + drillPipe.getInnerDiameter() + " in");
System.out.println(" 外径:" + drillPipe.getOuterDiameter() + " in");
System.out.println(" 节箍内径:" + drillPipe.getBracketInnerDiameter() + " in");
System.out.println(" 节箍外径:" + drillPipe.getBracketOuterDiameter() + " in");
System.out.println(" 壁厚:" + drillPipe.getWallThickness() + " in");
System.out.println(" 单位重量:" + drillPipe.getWeight() + " lbs/ft");
System.out.println(" 数量:" + drillPipe.getNumber() + " 根");
System.out.println(" 长度:" + drillPipe.getLength() + " ft");
System.out.println("钻铤:");
System.out.println(" 内径:" + drillCollar.getInnerDiameter() + " in");
System.out.println(" 外径:" + drillCollar.getOuterDiameter() + " in");
System.out.println(" 壁厚:" + drillCollar.getWallThickness() + " in");
System.out.println(" 单位重量:" + drillCollar.getWeight() + " lbs/ft");
System.out.println(" 数量:" + drillCollar.getNumber() + " 根");
System.out.println(" 长度:" + drillCollar.getLength() + " ft");
System.out.println(" 钻具总长度:"+drillToolTotalLength);
System.out.println("钻头:");
System.out.println(" 重量:" + drillBit.getWeight() + " lbs");
System.out.println(" 尺寸:" + drillBit.getSize() + " in");
System.out.println(" 水眼1:" + drillBit.getWaterEye1() + " 1/32in");
System.out.println(" 水眼2:" + drillBit.getWaterEye2() + " 1/32");
System.out.println(" 水眼3:" + drillBit.getWaterEye3() + " 1/32");
System.out.println(" 使用时间:" + drillBit.getUseTime() + " hrs");
System.out.println(" 最大承压:" + drillBit.getMaxPressure() + " klbf");
}
}
class DrillingOperations { //钻井操作
public void show() {
System.out.println();
System.out.println("--准备作业");
System.out.println("---- 井位准备 ----");
prepareWellSite();
System.out.println("---- 组装钻机 ----");
assembleDrillingRig();
System.out.println("---- 钻探操作 ----");
drillingOperation();
System.out.println("----钻柱长度不够----");
increaseDrillPipe();
System.out.println("---- 钻头严重磨损 ----");
changeDrillBit();
System.out.println("---- 泥浆循环 ----");
mudCirculation();
System.out.println("---- 井壁稳定 ----");
stabilizeWellbore();
System.out.println("---- 采样和测试 ----");
samplingAndTesting();
}
private void prepareWellSite() {
// 井位准备的具体步骤
System.out.println(" - 清理场地");
System.out.println(" - 设置钻井平台");
System.out.println(" - 安排设备");
}
private void assembleDrillingRig() {
// 组装钻机的具体步骤
System.out.println(" - 安装钻机塔架");
System.out.println(" - 连接钻杆");
System.out.println(" - 安装泥浆系统");
}
private void drillingOperation() {
// 钻探操作的具体步骤
System.out.println(" - 启动钻机");
System.out.println(" - 调整钻速");
System.out.println(" - 监测钻井参数");
}
private void increaseDrillPipe() {
System.out.println(" - 提升钻柱");
System.out.println(" - 增加钻杆");
System.out.println(" - 继续作业");
}
private void changeDrillBit() {
// 更换钻头的具体步骤
System.out.println(" - 提升钻柱");
System.out.println(" - 拆卸旧钻头");
System.out.println(" - 安装新钻头");
}
private void mudCirculation() {
// 泥浆循环的具体步骤
System.out.println(" - 启动泥浆泵");
System.out.println(" - 清洗井底");
System.out.println(" - 监测泥浆参数");
}
private void stabilizeWellbore() {
// 井壁稳定的具体步骤
System.out.println(" - 灌注水泥");
System.out.println(" - 监测井壁压力");
System.out.println(" - 评估井壁稳定性");
}
private void samplingAndTesting() {
// 采样和测试的具体步骤
System.out.println(" - 获取岩芯样本");
System.out.println(" - 分析岩芯数据");
System.out.println(" - 进行地层测试");
}
}
public class drillTool {
public static void main(String[] args) {
// 创建钻杆对象
drillPipe drillPipe = new drillPipe(4.276f, 5.000f, 3.250f, 6.500f, 0.362f, 21.9f, 150, 30.6f);
// 创建钻铤对象
drillCollar drillCollar = new drillCollar(2.813f, 6.250f, 1.719f, 83.0f, 33, 29.6f);
// 创建钻头对象
drillBit drillBit = new drillBit(1000.0f, 8.500f, 11f, 11f, 11f, 0.0f, 67.4f);
// 创建钻具组合对象
drillCombination drillCombination = new drillCombination(5577f, 5575.9f, drillPipe, drillCollar, drillBit);
// 打印钻具组合信息
drillCombination.printCombinationDetails();
//创建操作行为对象
DrillingOperations operations = new DrillingOperations();
operations.show();
}
}