336 lines
12 KiB
JavaScript
336 lines
12 KiB
JavaScript
|
var GDZone =
|
|||
|
[
|
|||
|
{ "text": "一级地区有套管穿越三、四级公路的管道", "ID": "0.72" },
|
|||
|
{ "text": "一级地区无套管穿越三、四级公路的管道", "ID": "0.6" },
|
|||
|
{ "text": "一级地区有套管穿越一、二级公路、高速公路、铁路的管道", "ID": "0.6" },
|
|||
|
{ "text": "一级地区输气站内及其200米内,截断阀室及其50米内的管道", "ID": "0.5" },
|
|||
|
{ "text": "一级地区人群聚集场所的管道", "ID": "0.5" },
|
|||
|
{ "text": "二级地区有套管穿越三、四级公路的管道", "ID": "0.6" },
|
|||
|
{ "text": "二级地区无套管穿越三、四级公路的管道", "ID": "0.5" },
|
|||
|
{ "text": "二级地区有套管穿越一、二级公路、高速公路、铁路的管道", "ID": "0.6" },
|
|||
|
{ "text": "二级地区输气站内及其200米内,截断阀室及其50米内的管道", "ID": "0.5" },
|
|||
|
{ "text": "二级地区人群聚集场所的管道", "ID": "0.5" },
|
|||
|
{ "text": "三级地区有套管穿越三、四级公路的管道", "ID": "0.5" },
|
|||
|
{ "text": "三级地区无套管穿越三、四级公路的管道", "ID": "0.5" },
|
|||
|
{ "text": "三级地区有套管穿越一、二级公路、高速公路、铁路的管道", "ID": "0.5" },
|
|||
|
{ "text": "三级地区输气站内及其200米内,截断阀室及其50米内的管道", "ID": "0.5" },
|
|||
|
{ "text": "三级地区人群聚集场所的管道", "ID": "0.5" },
|
|||
|
{ "text": "四级地区有套管穿越三、四级公路的管道", "ID": "0.4" },
|
|||
|
{ "text": "四级地区无套管穿越三、四级公路的管道", "ID": "0.4" },
|
|||
|
{ "text": "四级地区有套管穿越一、二级公路、高速公路、铁路的管道", "ID": "0.4" },
|
|||
|
{ "text": "四级地区输气站内及其200米内,截断阀室及其50米内的管道", "ID": "0.4" },
|
|||
|
{ "text": "四级地区人群聚集场所的管道", "ID": "0.4" }
|
|||
|
]
|
|||
|
|
|||
|
var HjgyXS = [
|
|||
|
{ "text": "手工电弧焊", "ID": "0.7" },
|
|||
|
{ "text": "有垫环对焊焊接", "ID": "0.9" },
|
|||
|
{ "text": "无垫环对焊焊接", "ID": "0.7" },
|
|||
|
{ "text": "手工双面加强焊接", "ID": "0.95" },
|
|||
|
{ "text": "自动双面焊接", "ID": "1.0" },
|
|||
|
{ "text": "自动单面焊接", "ID": "0.8" }]
|
|||
|
|
|||
|
|
|||
|
var TZXS = [
|
|||
|
|
|||
|
{ "text": "干沙土", "ID": "1.0" },
|
|||
|
{ "text": "很湿的沙土", "ID": "3.0" },
|
|||
|
{ "text": "潮湿的粘土", "ID": "1.35" },
|
|||
|
{ "text": "无法确定", "ID": "1.5" },
|
|||
|
]
|
|||
|
|
|||
|
|
|||
|
var TZXS = [
|
|||
|
|
|||
|
{ "text": "10#钢", "ID": "205" },
|
|||
|
{ "text": "20#钢", "ID": "245" },
|
|||
|
{ "text": "16Mn钢", "ID": "345" },
|
|||
|
{ "text": "09MnV钢", "ID": "295" },
|
|||
|
{ "text": "A3F钢", "ID": "240" },
|
|||
|
]
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var SQGYJSCS = [
|
|||
|
|
|||
|
{ "text": "输气能力(m³/d)", "ID": "0" },
|
|||
|
{ "text": "管道内径(mm)", "ID": "1" },
|
|||
|
{ "text": "管道长度(km)", "ID": "2" },
|
|||
|
{ "text": "起点表压力(MPa)", "ID": "3" },
|
|||
|
{ "text": "终点表压力(MPa)", "ID": "4" },
|
|||
|
{ "text": "管存量(m³)", "ID": "5" },
|
|||
|
]
|
|||
|
|
|||
|
|
|||
|
var SQGYJSGS = [
|
|||
|
|
|||
|
{ "text": "威莫斯公式", "ID": "0" },
|
|||
|
{ "text": "潘汉德尔修正公式", "ID": "1" },
|
|||
|
{ "text": "前苏联早期公式", "ID": "2" },
|
|||
|
{ "text": "前苏联近期公式", "ID": "3" },
|
|||
|
//{ "text": "终点压力", "ID": "4" },
|
|||
|
]
|
|||
|
var SQGLX = [
|
|||
|
|
|||
|
{ "text": "水平输气管", "ID": "0" },
|
|||
|
{ "text": "地形起伏输气管", "ID": "1" },
|
|||
|
//{ "text": "管道长度", "ID": "2" },
|
|||
|
//{ "text": "起点压力", "ID": "3" },
|
|||
|
//{ "text": "终点压力", "ID": "4" },
|
|||
|
]
|
|||
|
|
|||
|
//pipeDw
|
|||
|
//pipeBH
|
|||
|
//pipeL
|
|||
|
//startP
|
|||
|
//endP
|
|||
|
//flowSQ
|
|||
|
//XDMD
|
|||
|
//Zf
|
|||
|
//Tavg
|
|||
|
|
|||
|
|
|||
|
function SQGYJS(jsCS, JSGS, par) {
|
|||
|
//alert(JSON.stringify(par));
|
|||
|
var Dn = (parseFloat(par.pipeDw) - 2 * parseFloat(par.pipeBH)) / 10;
|
|||
|
var result = 0;
|
|||
|
|
|||
|
|
|||
|
try {
|
|||
|
var Ps = parseFloat(par.startP) + 0.101325;
|
|||
|
|
|||
|
} catch (e) {
|
|||
|
|
|||
|
}
|
|||
|
try {
|
|||
|
var Pe = parseFloat(par.endP) + 0.101325;
|
|||
|
} catch (e) {
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
var RD = parseFloat(par.XDMD);
|
|||
|
var T = parseFloat(par.Tavg) + 273.15;
|
|||
|
var L = parseFloat(par.pipeL);
|
|||
|
var Z = parseFloat(par.Zf);
|
|||
|
var Zn = parseFloat(par.Zn);
|
|||
|
var Q = parseFloat(par.flowSQ);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var Exlxs = XLXS(parseFloat(par.pipeDw));
|
|||
|
|
|||
|
//alert(Ps + "_" + Pe + "_" + RD + "_" + T + "_" + L + "_" + Z + "_" + Dn+ "_" + Q);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
switch (jsCS) {
|
|||
|
|
|||
|
case "0": //输气能力
|
|||
|
|
|||
|
var ZRDTL = Z * RD * T * L;
|
|||
|
var ZRDTL051 = Z * Math.pow(RD, 0.961) * T * L;
|
|||
|
var PowZRDTL05 = Math.pow(ZRDTL, 0.5);
|
|||
|
var PowZRDTL051 = Math.pow(ZRDTL051, 0.51);
|
|||
|
|
|||
|
var powDn83 = Math.pow(Dn, 8 / 3);
|
|||
|
var powDn253 = Math.pow(Dn, 2.53);
|
|||
|
var powDn27 = Math.pow(Dn, 2.7);
|
|||
|
var powDn26 = Math.pow(Dn, 2.6);
|
|||
|
var powPsPe05 = Math.pow((Ps * Ps - Pe * Pe), 0.5);
|
|||
|
var powPsPe051 = Math.pow((Ps * Ps - Pe * Pe), 0.51);
|
|||
|
|
|||
|
switch (JSGS) {
|
|||
|
case "0": //10.8432=5033/10^(8/3)
|
|||
|
result = 5033 * powDn83 * powPsPe05 / PowZRDTL05;
|
|||
|
break;
|
|||
|
case "1": //24.8244=11522/10^(8/3)
|
|||
|
//alert(Exlxs + "_" + powDn253 + "_" + powPsPe051 + "_" + PowZRDTL051 + "_" + L + "_" + Z + "_" + Dn + "_" + Q);
|
|||
|
result = 11522 * Exlxs * powDn253 * powPsPe051 / PowZRDTL051;
|
|||
|
break;
|
|||
|
case "2": //24.8244=11522/10^(8/3)
|
|||
|
|
|||
|
result = 4464.2 * powDn27 * powPsPe05 / PowZRDTL05;
|
|||
|
break;
|
|||
|
case "3": //24.8244=11522/10^(8/3)
|
|||
|
result = 6775.6 * Exlxs * 1 * powDn26 * powPsPe05 / PowZRDTL05;
|
|||
|
break;
|
|||
|
default:
|
|||
|
}
|
|||
|
break;
|
|||
|
case "1": //管道内径计算
|
|||
|
var ZRDTL = Z * RD * T * L;
|
|||
|
var ZRDTL051 = Z * Math.pow(RD, 0.961) * T * L;
|
|||
|
var PowZRDTL05 = Math.pow(ZRDTL, 0.5);
|
|||
|
var PowZRDTL051 = Math.pow(ZRDTL051, 0.51);
|
|||
|
var powPsPe05 = Math.pow((Ps * Ps - Pe * Pe), 0.5);
|
|||
|
var powPsPe051 = Math.pow((Ps * Ps - Pe * Pe), 0.51);
|
|||
|
|
|||
|
switch (JSGS) {
|
|||
|
case "0": //10.8432=5033/10^(8/3)
|
|||
|
result = Math.pow(Q / (5033 * powPsPe05 / PowZRDTL05), 3 / 8) * 10; //* Math.pow(Dn, 8 / 3)
|
|||
|
break;
|
|||
|
case "1": //24.8244=11522/10^(8/3)
|
|||
|
|
|||
|
//result = Math.pow(Q / (11522 * powPsPe051 / PowZRDTL051), 1 / 2.53)*10; //* Math.pow(Dn, 2.53)
|
|||
|
//Exlxs = XLXS(parseFloat(result));
|
|||
|
result = Math.pow(Q / (11522 * Exlxs * powPsPe051 / PowZRDTL051), 1 / 2.53) * 10; //* Math.pow(Dn, 2.53)
|
|||
|
|
|||
|
break;
|
|||
|
case "2": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.pow(Q / (4464.2 * powPsPe05 / PowZRDTL05), 1 / 2.7) * 10; //* Math.pow(Dn, 2.7)
|
|||
|
break;
|
|||
|
case "3": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.pow(Q / (6775.6 * Exlxs * 1 * powPsPe05 / PowZRDTL05), 1 / 2.6) * 10; //* Math.pow(Dn, 2.6)
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
default:
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
case "2": //管道长度
|
|||
|
var ZRDTL = Z * RD * T;
|
|||
|
var ZRDTL051 = Z * Math.pow(RD, 0.961) * T;
|
|||
|
var PowZRDTL05 = Math.pow(ZRDTL, 0.5);
|
|||
|
var PowZRDTL051 = Math.pow(ZRDTL051, 0.51);
|
|||
|
|
|||
|
var powDn83 = Math.pow(Dn, 8 / 3);
|
|||
|
var powDn253 = Math.pow(Dn, 2.53);
|
|||
|
var powDn27 = Math.pow(Dn, 2.7);
|
|||
|
var powDn26 = Math.pow(Dn, 2.6);
|
|||
|
var powPsPe05 = Math.pow((Ps * Ps - Pe * Pe), 0.5);
|
|||
|
var powPsPe051 = Math.pow((Ps * Ps - Pe * Pe), 0.51);
|
|||
|
|
|||
|
switch (JSGS) {
|
|||
|
case "0": //10.8432=5033/10^(8/3)
|
|||
|
result = Math.pow(5033 * powDn83 * powPsPe05 / PowZRDTL05 / Q, 2);
|
|||
|
break;
|
|||
|
case "1": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.pow(11522 * Exlxs * powDn253 * powPsPe051 / PowZRDTL051 / Q, 1 / 0.51);
|
|||
|
break;
|
|||
|
case "2": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.pow(4464.2 * powDn27 * powPsPe05 / PowZRDTL05 / Q, 2);
|
|||
|
break;
|
|||
|
case "3": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.pow(6775.6 * Exlxs * 1 * powDn26 * powPsPe05 / PowZRDTL05 / Q, 2);
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
default:
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
case "3": //起点压力
|
|||
|
var ZRDTL = Z * RD * T * L;
|
|||
|
var ZRDTL051 = Z * Math.pow(RD, 0.961) * T * L;
|
|||
|
var PowZRDTL05 = Math.pow(ZRDTL, 0.5);
|
|||
|
var PowZRDTL051 = Math.pow(ZRDTL051, 0.51);
|
|||
|
|
|||
|
var powDn83 = Math.pow(Dn, 8 / 3);
|
|||
|
var powDn253 = Math.pow(Dn, 2.53);
|
|||
|
var powDn27 = Math.pow(Dn, 2.7);
|
|||
|
var powDn26 = Math.pow(Dn, 2.6);
|
|||
|
//var powPsPe05 = Math.pow((Ps * Ps - Pe * Pe), 0.5);
|
|||
|
//var powPsPe051 = Math.pow((Ps * Ps - Pe * Pe), 0.51);
|
|||
|
|
|||
|
switch (JSGS) {
|
|||
|
case "0": //10.8432=5033/10^(8/3)
|
|||
|
result = Math.sqrt(Math.pow(Q / (5033 * powDn83 / PowZRDTL05), 2) + Pe * Pe);
|
|||
|
break;
|
|||
|
case "1": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.sqrt(Math.pow(Q / (11522 * Exlxs * powDn253 / PowZRDTL051), 1 / 0.51) + Pe * Pe);;
|
|||
|
break;
|
|||
|
case "2": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.sqrt(Math.pow(Q / (4464.2 * powDn27 / PowZRDTL05), 2) + Pe * Pe);
|
|||
|
break;
|
|||
|
case "3": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.sqrt(Math.pow(Q / (6775.6 * Exlxs * 1 * powDn26 / PowZRDTL05), 2) + Pe * Pe);
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
default:
|
|||
|
}
|
|||
|
|
|||
|
result = result - 0.101325;
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
case "4": //终点压力
|
|||
|
|
|||
|
var ZRDTL = Z * RD * T * L;
|
|||
|
var ZRDTL051 = Z * Math.pow(RD, 0.961) * T * L;
|
|||
|
var PowZRDTL05 = Math.pow(ZRDTL, 0.5);
|
|||
|
var PowZRDTL051 = Math.pow(ZRDTL051, 0.51);
|
|||
|
|
|||
|
var powDn83 = Math.pow(Dn, 8 / 3);
|
|||
|
var powDn253 = Math.pow(Dn, 2.53);
|
|||
|
var powDn27 = Math.pow(Dn, 2.7);
|
|||
|
var powDn26 = Math.pow(Dn, 2.6);
|
|||
|
//var powPsPe05 = Math.pow((Ps * Ps - Pe * Pe), 0.5);
|
|||
|
//var powPsPe051 = Math.pow((Ps * Ps - Pe * Pe), 0.51);
|
|||
|
|
|||
|
switch (JSGS) {
|
|||
|
case "0": //10.8432=5033/10^(8/3)
|
|||
|
result = Math.sqrt(Ps * Ps - Math.pow(Q / (5033 * powDn83 / PowZRDTL05), 2));
|
|||
|
break;
|
|||
|
case "1": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.sqrt(Ps * Ps - Math.pow(Q / (11522 * Exlxs * powDn253 / PowZRDTL051), 1 / 0.51));
|
|||
|
break;
|
|||
|
case "2": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.sqrt(Ps * Ps - Math.pow(Q / (4464.2 * powDn27 / PowZRDTL05), 2));
|
|||
|
break;
|
|||
|
case "3": //24.8244=11522/10^(8/3)
|
|||
|
result = Math.sqrt(Ps * Ps - Math.pow(Q / (6775.6 * Exlxs * 1 * powDn26 / PowZRDTL05), 2));
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
default:
|
|||
|
}
|
|||
|
|
|||
|
result = result - 0.101325;
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
case "5": //管存量
|
|||
|
var V = 3.1415926 * Dn * Dn * L * 1000 / 40000;
|
|||
|
//alert(Dn +"_"+V);
|
|||
|
result = V * ((Ps + Pe) / 2) * Zn * 293.15 / Z / T / 0.101325;
|
|||
|
|
|||
|
|
|||
|
default:
|
|||
|
}
|
|||
|
//alert(result);
|
|||
|
return result;
|
|||
|
}
|
|||
|
|
|||
|
function XLXS(pipeDNJ) {
|
|||
|
var pD = parseFloat(pipeDNJ);
|
|||
|
//alert(pD);
|
|||
|
if (pD > 0 & pD < 300) {
|
|||
|
return 0.84;
|
|||
|
}
|
|||
|
else if (pD >= 300 & pD < 400) {
|
|||
|
return 0.85;
|
|||
|
}
|
|||
|
else if (pD >= 400 & pD < 500) {
|
|||
|
return 0.84;
|
|||
|
}
|
|||
|
else if (pD >= 500 & pD < 600) {
|
|||
|
return 0.87;
|
|||
|
}
|
|||
|
else if (pD >= 700 & pD < 800) {
|
|||
|
return 0.9;
|
|||
|
}
|
|||
|
else if (pD >= 800 & pD < 1000) {
|
|||
|
return 0.91;
|
|||
|
}
|
|||
|
else {
|
|||
|
return 0.85;
|
|||
|
}
|
|||
|
}
|
|||
|
|