// // Calculating scripts between G, rpm, and Rmax[mm] // TOMYS SEIKO co.,Ltd. // 2014/11/15 updated calculation // // Clear answer field function clear_rpm() { document.formcal.ans_rpm.value = ''; } function clear_G() { document.formcal.ans_G.value = ''; } function clear_Rmax() { document.formcal.ans_R.value = ''; } // Check arguments, Calculate, and Set answer function calc_rpm() { clear_rpm(); var G = document.formcal.G_for_rpm.value; var Rmax = document.formcal.R_for_rpm.value; if ((G == '') || (Rmax == '')) { return; } if (isNaN(G)) { alert('「遠心加速度」が半角数値ではありません。再入力してください。'); document.formcal.G_for_rpm.focus(); return; } if (isNaN(Rmax)) { alert('「半径」が半角数値ではありません。再入力してください。'); document.formcal.R_for_rpm.focus(); return; } var rpm = calc_rpm_main(eval(G), eval(Rmax)); document.formcal.ans_rpm.value = rpm; return; } function calc_G() { clear_G(); var Rmax = document.formcal.R_for_G.value; var rpm = document.formcal.rpm_for_G.value; if ((Rmax == '') || (rpm == '')) { return; } if (isNaN(rpm)) { alert('「回転数」が半角数値ではありません。再入力してください。'); document.formcal.rpm_for_G.focus(); return; } if (isNaN(Rmax)) { alert('「半径」が半角数値ではありません。再入力してください。'); document.formcal.R_for_G.focus(); return; } var G = calc_G_main(eval(Rmax), eval(rpm)); document.formcal.ans_G.value = G; return; } function calc_Rmax() { clear_Rmax(); var rpm = document.formcal.rpm_for_R.value; var G = document.formcal.G_for_R.value; if ((rpm == '') || (G == '')) { return; } if (isNaN(rpm)) { alert('「回転数」が半角数値ではありません。再入力してください。'); document.formcal.rpm_for_R.focus(); return; } if (isNaN(G)) { alert('「遠心加速度」が半角数値ではありません。再入力してください。'); document.formcal.G_for_R.focus(); return; } var Rmax = calc_Rmax_main(eval(rpm), eval(G)); document.formcal.ans_R.value = Rmax; return; } // Main Logic of Calculation function calc_rpm_main(G, Rmax) { // rpm = ROUND (SQRT(G/(1.118243*(10^(-6))*Rmax)),-2) for EXCEL // rpm = ROUNDDOWN(SQRT(G/(1.118243*(10^(-6))*Rmax)), 0) for EXCEL 20141115update var tmpvar = 1.118243 * Rmax / 1000000; // var rpm = Math.round(Math.sqrt(G / tmpvar) / 100) * 100; 20141115update var rpm = Math.floor(Math.sqrt(G / tmpvar)); return rpm; } function calc_G_main(Rmax, rpm) { // G = ROUND (1.118243*(10^(-6))*Rmax*(rpm^2),-1) for EXCEL // G = ROUNDDOWN(1.118243*(10^(-6))*Rmax*(rpm^2), 0) for EXCEL 20141115update var tmpvar = 1.118243 * Rmax * rpm * rpm / 1000000; // var G = Math.round(tmpvar / 10) * 10; 20141115update var G = Math.floor(tmpvar); return G; } function calc_Rmax_main(rpm, G) { // Rmax = G/(1.118243*(10^(-6))*rpm^2) for EXCEL var tmpvar = 1.118243 * rpm * rpm / 1000000; var Rmax = Math.round(G / tmpvar); return Rmax; }