diff --git a/magloop.css b/magloop.css
index 46099bc..26348d5 100644
--- a/magloop.css
+++ b/magloop.css
@@ -2,6 +2,7 @@ body {
background: rgb(201, 201, 201);
margin: 0px;
}
+
header {
background: black;
color: white;
@@ -23,8 +24,12 @@ section div.slider_container {
height: 100%;
background: rgb(255, 255, 255);
border: 1px solid rgb(0, 0, 0);
- margin: 0%;
- display: inline-block;
+ margin: 0px;
+ padding: 0px;
+ /*display: inline-block;*/
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
}
section div.antennaFront-container {
@@ -32,8 +37,8 @@ section div.antennaFront-container {
height: 100%;
display: block;
box-sizing: border-box;
- margin: 0;
- padding: 0;
+ margin: 0px;
+ padding: 0px;
background: white;
border: 1px solid rgb(0, 0, 0);
position: absolute;
@@ -41,6 +46,7 @@ section div.antennaFront-container {
section div.sliders {
background:rgb(255, 255, 255);
+ display: inline-block;
font-size: small;
margin: 0px;
padding: 0px;
@@ -116,7 +122,7 @@ section div.antennaSide-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(2, 1fr) 150px;
- justify-items: auto;
+ justify-items: stretch;
}
section div.chart-container {
diff --git a/magloop.html b/magloop.html
index 04f9c5f..c9619e3 100644
--- a/magloop.html
+++ b/magloop.html
@@ -42,11 +42,11 @@
-
-
+
@@ -87,7 +87,8 @@
function updateFrequencies() {
const hamFrequencies = [
//1.6, 2.0, 4.0, 6.0, 8.0
- 0.1357, 0.1378, 0.472, 0.479, 1.8, 3.5, 5.0, 7.0, 10.1, 14.0, 18.068, 21.0, 24.89, 28.0, 29.7, 35.0, 40.0, 45.0, 50.0, 52.0
+ 1.8, 3.5, 5.0, 7.0, 10.1, 14.0, 18.068, 21.0, 24.89, 28.0, 29.7, 35.0, 40.0, 45.0, 50.0, 52.0
+ //0.1357, 0.1378, 0.472, 0.479, 1.8, 3.5, 5.0, 7.0, 10.1, 14.0, 18.068, 21.0, 24.89, 28.0, 29.7, 35.0, 40.0, 45.0, 50.0, 52.0
//1.8, 2.2, 2.8, 3.5, 5.0, 6.0, 7.0, 8.0, 9.0, 10.1, 12.0, 14.0, 16.0, 18.068, 21.0, 24.89, 28.0
//1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
];
@@ -153,8 +154,13 @@
const wavelength = 3e8 / (frequency * 1e6);
const l = (Math.PI * loop_diameter_slider.value) / wavelength;
const reactance = 2.0 * Math.PI * frequency * 1e6 * inductance;
- const capacitance = 1e12 / (2.0 * Math.PI * frequency * 1e6 * reactance);
- return capacitance;
+ const e0 = 8.854187e-12;
+ const h = loop_spacing_slider.value * conductor_diameter_slider.value;
+ const a = conductor_diameter_slider.value * 0.5;
+ const multiloop_capacitance = (loop_turns_slider.value > 1) ?
+ (2.0*Math.PI*e0) / Math.log((h + Math.sqrt(h**2 - a**2))/a) * Math.PI * loop_diameter_slider.value * loop_turns_slider.value : 0.0;
+ const capacitance = 1e12 * ((1.0 / (2.0 * Math.PI * frequency * 1e6 * reactance)) - multiloop_capacitance);
+ return capacitance; // in picofarads
}
function calculateTuningCapacitor() {
@@ -183,7 +189,7 @@
function getProximityResFromSpacing(spacing_ratio) {
// Use the proximityResistance look-up table and interpolate values depending on the spacing ratio and the number of turns.
var retval = 0.0;
- const n_turns = loop_turns_slider.value;
+ var n_turns = loop_turns_slider.value;
var i = 0;
for (i = 0; i < (proximityResistance[0].length-1); i++) {
if(spacing_ratio <= proximityResistance[0][i+1]) {
@@ -372,8 +378,8 @@
const win_height = document.getElementById("antenna-front-container").offsetHeight;
//const win_width = afront_canvas.getBoundingClientRect().width;
//const win_height = afront_canvas.getBoundingClientRect().height;
- afront_canvas.width = win_width-2;
- afront_canvas.height = win_height-2;
+ afront_canvas.width = win_width;
+ afront_canvas.height = win_height;
fctx.clearRect(0, 0, win_width, win_height);
const loop_radius = win_width < win_height ? 0.35 * win_width : 0.35 * win_height; // 100; // loop_diameter_slider.value * 80;
@@ -472,8 +478,8 @@
//const win_width = aside_canvas.getBoundingClientRect().width;
//const win_height = aside_canvas.getBoundingClientRect().height;
//console.log(win_width, win_height);
- aside_canvas.width = win_width-2;
- aside_canvas.height = win_height-2;
+ aside_canvas.width = win_width;
+ aside_canvas.height = win_height;
//const win_width = aside_canvas.width;
//const win_height = aside_canvas.height;
sctx.clearRect(0, 0, win_width, win_height);