-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
633 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
硝糖燃料当中综合使用性能最优秀的KNSB燃料。 | ||
由前能材吧吧主“阿弗列诺贝尔”(百度ID名)总结整理编写。 | ||
-------------------- | ||
介绍: | ||
KNSB是一种以硝酸钾和山梨醇为主要成分的固体火箭燃料,一般用于DIY小型火箭。具有比冲较高、燃料塑性好不易断裂、熔铸流动性极好(与水泥浆相当)、自燃温度高、较低的吸湿性等优点。能产生的燃烧产物: 二氧化碳 /一氧化碳/ 水/ 氢气/ 氧气/ 氮气 /碳酸钾 /氢氧化钾,产物具体组成依山梨糖醇-硝酸钾的混合比例而定。 | ||
-------------------- | ||
标准配方(残渣残留少且燃速快): | ||
硝酸钾KNO3:65% | ||
山梨糖醇C6H14O6:35% | ||
|
||
流动性更好的配方(相对标准配方,燃烧残渣残留稍多且燃速较慢,性能稍微下降): | ||
硝酸钾KNO3:60% | ||
山梨糖醇C6H14O6:40% | ||
-------------------- | ||
性能数据: | ||
理论比冲:164s | ||
理论特征速度:938m/s | ||
实际特征速度:914m/s | ||
理论燃烧温度:1327摄氏度 | ||
实际燃烧温度:1247摄氏度 | ||
理论密度:1.841g/cm^3 | ||
熔铸密度:1.82g/cm^3 | ||
推力系数:1.468 | ||
自燃温度: >300℃ | ||
|
||
KNSB标准配方的燃烧常数和压力指数: | ||
压力范围 a n | ||
Mpa│ Mpa│ mm/s | ||
0.101~0.807│ 10.708│ 0.625 | ||
0.807~1.503│ 8.763│ -0.314 | ||
1.503~3.792│ 7.852│ -0.013 | ||
3.792~7.033│ 3.907│ 0.535 | ||
7.033~10.67│ 9.653│ 0.064 | ||
-------------------- | ||
熔铸工艺: | ||
第一步: | ||
按比例称取硝酸钾置于烤箱里用150℃烤20分钟以上干燥。 | ||
第二步: | ||
按比例称取颗粒状的山梨糖醇小火熬化(熔点94~96℃),熬煮过程中需要搅拌,熬到不再产生气泡(熔化过程中,山梨糖醇内部的结晶水会以大量水蒸气的形式缓慢溢出,形成大量的微小的气泡致使液态的山梨糖醇成不透明的乳白色),使山梨糖醇变成全透明水状液体,这样子的山梨糖醇不含结晶水。 | ||
第三步: | ||
撤去山梨糖醇的加热源,趁热往熬好的液态山梨糖醇里加硝酸钾,搅拌均匀,此时的燃料颜色是发黄的。 | ||
第四步: | ||
将熬好的燃料直接倾倒进模具/发动机内流平,如果单次燃料熬多了,没倒完的时候通常加热容器内的燃料的温度会下降,会变的更粘稠,流动性变差,这种情况不好倒进模具/发动机里头,重新热一下容器就能完全解决。 | ||
第五步: | ||
燃料冷却到稍微硬化的时候后脱出芯模,使燃料柱形成空心的中孔(即是燃烧孔)。 | ||
|
||
备注: | ||
1.通常情况建议使用标准配比,当使用长径比过大的细长的模具/发动机进行熔铸,请使用流动性更好的那个配比,太细的短发动机也是如此。 | ||
2.模具分外模和芯模,外模一般是不脱模直接作为发动机隔热层使用(直接往发动机内灌铸燃料的那种,发动机即为外模),芯模需要事先涂抹耐高温脱模剂,方便抽出不黏连。 | ||
|
||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<title>储罐厚度计算器</title> | ||
<style> | ||
.input-label { | ||
display: inline-block; | ||
width: 150px; | ||
} | ||
|
||
.result-label { | ||
font-weight: bold; | ||
} | ||
</style> | ||
<script> | ||
function calculateThickness() { | ||
var kl_1 = parseFloat(document.getElementById("kl_1").value); | ||
var qf_1 = parseFloat(document.getElementById("qf_1").value); | ||
var d_1 = parseFloat(document.getElementById("d_1").value); | ||
var p_1 = parseFloat(document.getElementById("p_1").value); | ||
|
||
var kl_2 = kl_1 / 2.6; | ||
var qf_2 = qf_1 / 1.5; | ||
var a_1 = kl_1; | ||
|
||
if (kl_2 > qf_2) { | ||
a_1 = qf_2; | ||
} | ||
|
||
var b_1 = (p_1 * d_1) / (2 * a_1); | ||
document.getElementById("result").innerHTML = "厚度: " + b_1 + "mm"; | ||
document.getElementById("disclaimer").innerHTML = "本程序由铼铱工业编写<br>使用有任何问题反馈邮箱lseqy2024@outlook.com"; | ||
} | ||
</script> | ||
</head> | ||
<body> | ||
<h1>储罐厚度计算器</h1> | ||
<div> | ||
<label class="input-label" for="kl_1">抗拉强度MPa:</label> | ||
<input type="number" id="kl_1"> | ||
</div> | ||
<div> | ||
<label class="input-label" for="qf_1">屈服强度MPa:</label> | ||
<input type="number" id="qf_1"> | ||
</div> | ||
<div> | ||
<label class="input-label" for="d_1">直径mm:</label> | ||
<input type="number" id="d_1"> | ||
</div> | ||
<div> | ||
<label class="input-label" for="p_1">压力MPa:</label> | ||
<input type="number" id="p_1"> | ||
</div> | ||
<br> | ||
<button onclick="calculateThickness()">计算</button> | ||
<br><br> | ||
<label id="result" class="result-label"></label> | ||
<br><br> | ||
<label id="disclaimer"></label> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<title>储罐计算器</title> | ||
<script> | ||
function calculate() { | ||
var yhj = parseFloat(document.getElementById("yhj").value); | ||
var yhjr = parseFloat(document.getElementById("yhjr").value); | ||
var rl = parseFloat(document.getElementById("rl").value); | ||
var rlr = parseFloat(document.getElementById("rlr").value); | ||
var tim = parseFloat(document.getElementById("tim").value); | ||
var hy = parseFloat(document.getElementById("hy").value); | ||
var hr = parseFloat(document.getElementById("hr").value); | ||
|
||
var yhjm = yhj * tim; | ||
var rlm = rl * tim; | ||
var yhjv = yhjm / yhjr; | ||
var rlv = rlm / rlr; | ||
var hy2 = hy * hy * Math.PI; | ||
var hr2 = hr * hr * Math.PI; | ||
var yhjv2 = yhjv / hy2; | ||
var rlv2 = rlv / hr2; | ||
|
||
document.getElementById("result_yhjv").innerHTML = yhjv2.toFixed(2) + " cm"; | ||
document.getElementById("result_rlv").innerHTML = rlv2.toFixed(2) + " cm"; | ||
document.getElementById("result_yhjm").innerHTML = yhjm.toFixed(2) + " g"; | ||
document.getElementById("result_rlm").innerHTML = rlm.toFixed(2) + " g"; | ||
} | ||
</script> | ||
</head> | ||
<body> | ||
<h1>储罐计算器</h1> | ||
<form> | ||
<label for="yhj">氧化剂质量流量(g/s):</label> | ||
<input type="number" id="yhj" step="0.01"><br> | ||
|
||
<label for="yhjr">氧化剂密度(g/cm³):</label> | ||
<input type="number" id="yhjr" step="0.01"><br> | ||
|
||
<label for="rl">燃料质量流量(g/s):</label> | ||
<input type="number" id="rl" step="0.01"><br> | ||
|
||
<label for="rlr">燃料密度(g/cm³):</label> | ||
<input type="number" id="rlr" step="0.01"><br> | ||
|
||
<label for="tim">工作时间(s):</label> | ||
<input type="number" id="tim" step="0.01"><br> | ||
|
||
<label for="hy">氧化剂罐半径(cm):</label> | ||
<input type="number" id="hy" step="0.01"><br> | ||
|
||
<label for="hr">燃料罐半径(cm):</label> | ||
<input type="number" id="hr" step="0.01"><br> | ||
|
||
<button type="button" onclick="calculate()">计算</button> | ||
</form> | ||
|
||
<h2>计算结果:</h2> | ||
<p>氧化剂罐长度: <span id="result_yhjv"></span></p> | ||
<p>燃料罐长度: <span id="result_rlv"></span></p> | ||
<p>氧化剂质量: <span id="result_yhjm"></span></p> | ||
<p>燃料质量: <span id="result_rlm"></span></p> | ||
<p>本程序由铼铱工业编写</p> | ||
<p>使用有任何问题反馈邮箱lseqy2024@outlook.com</p> | ||
|
||
</body> | ||
</html> |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
<!DOCTYPE html> | ||
<html lang="zh-CN"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>压力计算锥形喷管</title> | ||
<style> | ||
body { | ||
font-family: Arial, sans-serif; | ||
padding: 20px; | ||
} | ||
.container { | ||
max-width: 600px; | ||
margin: 0 auto; | ||
background-color: #f9f9f9; | ||
padding: 20px; | ||
border-radius: 8px; | ||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | ||
} | ||
form { | ||
margin-bottom: 20px; | ||
} | ||
label { | ||
font-weight: bold; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<div class="container"> | ||
<h2>压力计算锥形喷管</h2> | ||
|
||
<form id="nozzleForm"> | ||
<div> | ||
<label for="Cc">入口直径 (mm): </label> | ||
<input type="number" id="Cc" step="any" required> | ||
</div> | ||
<div> | ||
<label for="h">喉部直径 (mm): </label> | ||
<input type="number" id="h" step="any" required> | ||
</div> | ||
<div> | ||
<label for="pc">室压 (MPa): </label> | ||
<input type="number" id="pc" step="any" required> | ||
</div> | ||
<div> | ||
<label for="pe">出口压力 (MPa): </label> | ||
<input type="number" id="pe" step="any" required> | ||
</div> | ||
<div> | ||
<label for="r">比热比 (γ): </label> | ||
<input type="number" id="r" step="any" required> | ||
</div> | ||
<div> | ||
<label for="CTc">收敛角度: </label> | ||
<input type="number" id="CTc" step="any" required> | ||
</div> | ||
<div> | ||
<label for="CTe">扩张角度: </label> | ||
<input type="number" id="CTe" step="any" required> | ||
</div> | ||
<button type="button" onclick="calculateNozzle()">计算</button> | ||
</form> | ||
|
||
<div id="results" style="display: none;"> | ||
<h3>计算结果:</h3> | ||
<p id="LcpResult"></p> | ||
<p id="LepResult"></p> | ||
<p id="CeResult"></p> | ||
</div> | ||
|
||
<p>本程序由铼铱工业编写。</p> | ||
<p>使用有任何问题反馈邮箱:<a href="mailto:lseqy2024@outlook.com">lseqy2024@outlook.com</a></p> | ||
</div> | ||
|
||
<script> | ||
function calculateNozzle() { | ||
var Cc = parseFloat(document.getElementById('Cc').value); | ||
var h = parseFloat(document.getElementById('h').value); | ||
var pc = parseFloat(document.getElementById('pc').value); | ||
var pe = parseFloat(document.getElementById('pe').value); | ||
var r = parseFloat(document.getElementById('r').value); | ||
var CTc = parseFloat(document.getElementById('CTc').value); | ||
var CTe = parseFloat(document.getElementById('CTe').value); | ||
|
||
// Convert pressures from MPa to Pa | ||
pc *= 1000000; | ||
pe *= 1000000; | ||
|
||
var z1 = Math.pow((pe / pc), (1 / r)); | ||
var z2 = (2 * r) / (r - 1); | ||
var z3 = Math.pow((pe / pc), ((r - 1) * r)); | ||
var z4 = (1 - z3) * z2; | ||
var z5 = Math.sqrt(z4) * z1; | ||
var z6 = Math.sqrt(r); | ||
var z7 = (r + 1) / (2 * (r - 1)); | ||
var z8 = Math.pow((2 / (1 + r)), z7) * z6; | ||
|
||
var Ce = z8 / z5; | ||
var Ae = Ce * Math.pow((h / 2), 2) * Math.PI; | ||
var de1 = (4 * Ae) / Math.PI; | ||
var de2 = Math.sqrt(de1); | ||
var Lep1 = (de2 - h) / 2; | ||
var Lcp1 = (Cc - h) / 2; | ||
var Lep2 = Lep1 / Math.tan(Math.radians(CTe)); | ||
var Lcp2 = Lcp1 / Math.tan(Math.radians(CTc)); | ||
|
||
document.getElementById('LcpResult').textContent = "收敛段长度: " + Lcp2.toFixed(2) + " mm"; | ||
document.getElementById('LepResult').textContent = "扩张段长度: " + Lep2.toFixed(2) + " mm"; | ||
document.getElementById('CeResult').textContent = "扩张比: " + Ce.toFixed(4); | ||
|
||
document.getElementById('results').style.display = 'block'; | ||
} | ||
|
||
// Function to convert degrees to radians | ||
Math.radians = function(degrees) { | ||
return degrees * Math.PI / 180; | ||
}; | ||
</script> | ||
</body> | ||
</html> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>扩张比计算锥形喷管</title> | ||
</head> | ||
<body> | ||
<h2>扩张比计算锥形喷管</h2> | ||
|
||
<form id="nozzleForm"> | ||
<label for="Cc">入口直径 (mm): </label> | ||
<input type="number" id="Cc" step="any" required><br><br> | ||
|
||
<label for="h">喉部直径 (mm): </label> | ||
<input type="number" id="h" step="any" required><br><br> | ||
|
||
<label for="Ce">扩张比: </label> | ||
<input type="number" id="Ce" step="any" required><br><br> | ||
|
||
<label for="CTc">收敛角度: </label> | ||
<input type="number" id="CTc" step="any" required><br><br> | ||
|
||
<label for="CTe">扩张角度: </label> | ||
<input type="number" id="CTe" step="any" required><br><br> | ||
|
||
<button type="button" onclick="calculateNozzle()">计算</button> | ||
</form> | ||
|
||
<div id="results" style="display: none;"> | ||
<h3>计算结果:</h3> | ||
<p id="Lcp">收敛段长度: <span id="LcpResult"></span> mm</p> | ||
<p id="Lep">扩张段长度: <span id="LepResult"></span> mm</p> | ||
</div> | ||
|
||
<p>本程序由铼铱工业编写。</p> | ||
<p>使用有任何问题反馈邮箱:<a href="mailto:lseqy2024@outlook.com">lseqy2024@outlook.com</a></p> | ||
|
||
|
||
<script> | ||
function calculateNozzle() { | ||
var Cc = parseFloat(document.getElementById('Cc').value); | ||
var h = parseFloat(document.getElementById('h').value); | ||
var Ce = parseFloat(document.getElementById('Ce').value); | ||
var CTc = parseFloat(document.getElementById('CTc').value); | ||
var CTe = parseFloat(document.getElementById('CTe').value); | ||
|
||
var Ae = Ce * Math.pow((h/2), 2) * Math.PI; | ||
var de1 = (4 * Ae) / Math.PI; | ||
var de2 = Math.sqrt(de1); | ||
var Lep1 = (de2 - h) / 2; | ||
var Lcp1 = (Cc - h) / 2; | ||
var Lep2 = Lep1 / Math.tan(Math.radians(CTe)); | ||
var Lcp2 = Lcp1 / Math.tan(Math.radians(CTc)); | ||
|
||
document.getElementById('LcpResult').textContent = Lcp2.toFixed(2); // Display Lcp2 with 2 decimal places | ||
document.getElementById('LepResult').textContent = Lep2.toFixed(2); // Display Lep2 with 2 decimal places | ||
|
||
document.getElementById('results').style.display = 'block'; // Show the results div | ||
} | ||
|
||
// Function to convert degrees to radians | ||
Math.radians = function(degrees) { | ||
return degrees * Math.PI / 180; | ||
}; | ||
</script> | ||
</body> | ||
</html> |
Oops, something went wrong.