|
61 | 61 | bb.endrings.calc_er_mutual_inductance(bb.legs); |
62 | 62 |
|
63 | 63 | var TEST_TOL = 5e-5; // allowing 0.5 rounding error for 4-digit app outputs |
| 64 | + |
64 | 65 | assert.close(1e9 * bb.legs.leg_self_inductance, 56.0517, TEST_TOL, 'Leg Self Inductance (rc = 12cm (LSI stays same))'); |
65 | 66 | assert.close(1e9 * bb.endrings.er_self_inductance, 64.7763, TEST_TOL, 'EndRing Self Inductance (rc = 12cm)'); |
66 | 67 | assert.close(1e9 * bb.legs.leg_mutual_inductance, 59.9066, TEST_TOL, 'Leg Mutual Inductance (rc = 12cm)'); // TODO unhardcode index? |
|
75 | 76 | bb.endrings.set_endrings_rect(0.01); |
76 | 77 | bb.endrings.calc_er_mutual_inductance(bb.legs); |
77 | 78 |
|
78 | | - var TEST_TOL = 5e-5; // allowing 0.5 rounding error for 4-digit app outputs |
| 79 | + |
79 | 80 | assert.close(1e9 * bb.legs.leg_self_inductance, 56.0517, TEST_TOL, 'Leg Self Inductance (rc = 123cm (LSI stays same))'); |
80 | 81 | assert.close(1e9 * bb.endrings.er_self_inductance, 1113.6057, 10*TEST_TOL, 'EndRing Self Inductance (rc = 123cm) ADJUSTED TOLERANCE'); |
81 | 82 | assert.close(1e9 * bb.legs.leg_mutual_inductance, 56.5239, TEST_TOL, 'Leg Mutual Inductance (rc = 123cm)'); // TODO unhardcode index? |
|
123 | 124 |
|
124 | 125 |
|
125 | 126 | // TODO repeat - go through all combinations/defaults in app! |
126 | | - |
127 | 127 | // TODO some have 0 or 1 digits (after decimal) |
128 | | - //var PAPER_TEST_TOL = 5e-3; // paper results only have 2 digits after decimal |
129 | | - var PAPER_TEST_TOL = 5; // picoFarads |
130 | | - // TODO change Paper tests to assert.close.percent ? might make more sense |
131 | 128 |
|
132 | 129 |
|
133 | | -// QUnit.test('BirdcageBuilder 2002-A', function(assert) { |
134 | | -// /* Test against Table 1 results from 2002 Birdcage Builder paper |
135 | | -// * |
136 | | -// * Chin, Collins, et al. MRM Vol 15(2) 156-163. 2002. |
137 | | -// */ |
138 | | -// |
139 | | -// // constructor(n, f, rc, rs, config) |
140 | | -// bb = new BirdcageBuilder(12, 21.25e6, 3.8e-2, 100e-2, 'lowpass'); |
141 | | -// assert.step('NOTE - Custom endring arclength'); |
142 | | -// bb.legs.set_legs_rect(10e-2, 0.6e-2); // TODO assuming rectangular? 'a' superscript? |
143 | | -// bb.endrings.er_arclen = 1.98e-2; |
144 | | -// bb.endrings.set_endrings_rect(0.6e-2); // TODO - paper specifies endring SEGMENT LENGTH?? |
145 | | -// bb.endrings.calc_er_mutual_inductance(bb.legs); |
146 | | -// |
147 | | -// // TODO - NOTE: the units are manually adjusted here, to reflect the app output values: |
148 | | -// assert.close(1e12 * bb.calc_capacitor(), 269.54, PAPER_TEST_TOL, 'Paper Capacitor A'); |
149 | | -// |
150 | | -// assert.verifySteps(['NOTE - Custom endring arclength']); |
151 | | -// }); |
152 | 130 |
|
153 | 131 |
|
154 | | - //function test_2002_paper_cap(type, N, f, rc, rs, |
| 132 | + /* Test against 2002 paper values */ |
| 133 | + |
155 | 134 |
|
156 | 135 |
|
| 136 | + //var PAPER_TEST_TOL = 5e-3; // paper results only have 2 digits after decimal |
| 137 | + var PAPER_TEST_TOL = 5; // picoFarads |
| 138 | + |
| 139 | + // TODO change Paper tests to assert.close.percent ? might make more sense |
| 140 | + |
157 | 141 | QUnit.test('BirdcageBuilder 2002 Paper Cap Tests', function(assert) { |
158 | 142 | /* Test against Table 1 results from original 2002 Birdcage Builder paper |
159 | 143 | * |
|
252 | 236 | assert.close(1e12 * bb.calc_capacitor(), 15.04, PAPER_TEST_TOL, 'Paper Capacitor H (Bandpass ER Caps)'); |
253 | 237 |
|
254 | 238 |
|
255 | | - |
256 | 239 | // Coil I: |
257 | 240 | // constructor(n, f, rc, rs, config) |
258 | 241 | bb = new BirdcageBuilder(12, 170e6, 9.5e-2, 0.0, 'bandpass_leg'); |
|
290 | 273 | "NOTE - Custom endring arclength", |
291 | 274 | "NOTE - Custom endring arclength" |
292 | 275 | ], 'verify steps (debug notes)'); |
| 276 | + |
293 | 277 | }); |
294 | 278 |
|
295 | 279 |
|
|
0 commit comments