Commit 68b0ecb2fd39466b62fe85593f3627498b31711f
1 parent
8c230103
Exists in
master
and in
3 other branches
Complete mesh generation parameters for flex cables
Showing
13 changed files
with
1405 additions
and
102 deletions
Show diff stats
DOCUMENTATION/THEORY_MANUAL/Tex/cable_types.tex
@@ -480,7 +480,7 @@ I_0 \\ | @@ -480,7 +480,7 @@ I_0 \\ | ||
480 | 480 | ||
481 | \begin{figure}[h] | 481 | \begin{figure}[h] |
482 | \centering | 482 | \centering |
483 | -\includegraphics[scale=0.5]{../USER_GUIDE/Imgs/flex_cable.eps} | 483 | +\includegraphics[scale=0.5]{../USER_GUIDE/Imgs/ML_flex_cable.eps} |
484 | \caption{flex cable} | 484 | \caption{flex cable} |
485 | \label{fig:flex_cable} | 485 | \label{fig:flex_cable} |
486 | \end{figure} | 486 | \end{figure} |
@@ -566,12 +566,12 @@ V_{d2\_c1} \\ | @@ -566,12 +566,12 @@ V_{d2\_c1} \\ | ||
566 | V_{ref}\\ | 566 | V_{ref}\\ |
567 | \end{array} \right) | 567 | \end{array} \right) |
568 | =\left[ \begin{array}{cccccc} | 568 | =\left[ \begin{array}{cccccc} |
569 | - 1 & 0 & \cdots & 0 && -1 0 \\ | ||
570 | - 0 & 1 & \cdots & 0 && -1 0 \\ | ||
571 | - \vdots & \vdots & \ddots & \vdots && \vdots\vdots \\ | ||
572 | - 0 & 0 & \cdots & 1 && -1 0 \\ | ||
573 | - 0 & 0 & \cdots & 0 && 1 -1 \\ | ||
574 | - 0 & 0 & \cdots & 0 && 0 1 \\ | 569 | + 1 & 0 & \cdots & 0 & -1 & 0 \\ |
570 | + 0 & 1 & \cdots & 0 & -1 & 0 \\ | ||
571 | + \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ | ||
572 | + 0 & 0 & \cdots & 1 & -1 & 0 \\ | ||
573 | + 0 & 0 & \cdots & 0 & 1 & -1 \\ | ||
574 | + 0 & 0 & \cdots & 0 & 0 & 1 \\ | ||
575 | \end{array} \right] | 575 | \end{array} \right] |
576 | \left( \begin{array}{c} | 576 | \left( \begin{array}{c} |
577 | V_1 \\ | 577 | V_1 \\ |
@@ -597,7 +597,7 @@ I_{ref}\\ | @@ -597,7 +597,7 @@ I_{ref}\\ | ||
597 | =\left[ \begin{array}{cccccc} | 597 | =\left[ \begin{array}{cccccc} |
598 | 1 & 0 & \cdots & 0 & 0 & 0 \\ | 598 | 1 & 0 & \cdots & 0 & 0 & 0 \\ |
599 | 0 & 1 & \cdots & 0 & 0 & 0 \\ | 599 | 0 & 1 & \cdots & 0 & 0 & 0 \\ |
600 | - \vdots & \vdots & \ddots & \vdots & \vdots\vdots \ | 600 | + \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \ |
601 | 0 & 0 & \cdots & 1 & 0 & 0 \\ | 601 | 0 & 0 & \cdots & 1 & 0 & 0 \\ |
602 | 0 & 0 & \cdots & 0 & 1 & 0 \\ | 602 | 0 & 0 & \cdots & 0 & 1 & 0 \\ |
603 | 1 & 1 & \cdots & 1 & 1 & 1 \\ | 603 | 1 & 1 & \cdots & 1 & 1 & 1 \\ |
DOCUMENTATION/THEORY_MANUAL/Tex/preamble.tex
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | \newcommand{\DocumentTitle}{Theory Manual} | 4 | \newcommand{\DocumentTitle}{Theory Manual} |
5 | \newcommand{\DocumentSubTitle}{SACAMOS: State of the Art CAble MOdels for Spice} | 5 | \newcommand{\DocumentSubTitle}{SACAMOS: State of the Art CAble MOdels for Spice} |
6 | \newcommand{\DocumentSubSubTitle}{Open Souce Cable Models for EMI Simulations} | 6 | \newcommand{\DocumentSubSubTitle}{Open Souce Cable Models for EMI Simulations} |
7 | -\newcommand{\DocumentVersion}{1.1} | 7 | +\newcommand{\DocumentVersion}{1.2} |
8 | \newcommand{\DocumentAuthors}{Christopher Smartt\footnote{\UONname, contact: Chris.Smartt@nottingham.ac.uk}, David Thomas$^1$, Steve Greedy$^1$, \\ Jaco Verpoorte\footnote{\NLRname, contact: Jaco.Verpoorte@nlr.nl}, Jesper Lansink Rotgerink$^2$ and Harmen Schippers$^2$} | 8 | \newcommand{\DocumentAuthors}{Christopher Smartt\footnote{\UONname, contact: Chris.Smartt@nottingham.ac.uk}, David Thomas$^1$, Steve Greedy$^1$, \\ Jaco Verpoorte\footnote{\NLRname, contact: Jaco.Verpoorte@nlr.nl}, Jesper Lansink Rotgerink$^2$ and Harmen Schippers$^2$} |
9 | \newcommand{\License}{This document is subject to the GNU Free Documentation License (version 2.0).} | 9 | \newcommand{\License}{This document is subject to the GNU Free Documentation License (version 2.0).} |
10 | \newcommand{\Reference}{ESA 40000112765/14/NL/HK} | 10 | \newcommand{\Reference}{ESA 40000112765/14/NL/HK} |
@@ -0,0 +1,927 @@ | @@ -0,0 +1,927 @@ | ||
1 | +%!PS-Adobe-3.0 EPSF-3.0 | ||
2 | +%%BoundingBox: -1 335 586 740 | ||
3 | +%%Title: ML_flex_cable | ||
4 | +%%CreationDate: Wed Jun 20 11:47:45 2018 | ||
5 | +%%Creator: Tgif-4.2.5-QPL written by William Chia-Wei Cheng (bill.cheng@acm.org) | ||
6 | +%%ProducedBy: (unknown) | ||
7 | +%%Pages: 1 | ||
8 | +%%DocumentFonts: (atend) | ||
9 | +%%EndComments | ||
10 | +%%BeginProlog | ||
11 | + | ||
12 | +/tgifdict 54 dict def | ||
13 | +tgifdict begin | ||
14 | + | ||
15 | +/tgifarrowtipdict 8 dict def | ||
16 | +tgifarrowtipdict /mtrx matrix put | ||
17 | + | ||
18 | +/TGAT % tgifarrowtip | ||
19 | + { tgifarrowtipdict begin | ||
20 | + /dy exch def | ||
21 | + /dx exch def | ||
22 | + /h exch def | ||
23 | + /w exch def | ||
24 | + /y exch def | ||
25 | + /x exch def | ||
26 | + /savematrix mtrx currentmatrix def | ||
27 | + x y translate | ||
28 | + dy dx atan rotate | ||
29 | + 0 0 moveto | ||
30 | + w neg h lineto | ||
31 | + w neg h neg lineto | ||
32 | + savematrix setmatrix | ||
33 | + end | ||
34 | + } def | ||
35 | + | ||
36 | +/TGMAX | ||
37 | + { exch dup 3 1 roll exch dup 3 1 roll gt { pop } { exch pop } ifelse | ||
38 | + } def | ||
39 | +/TGMIN | ||
40 | + { exch dup 3 1 roll exch dup 3 1 roll lt { pop } { exch pop } ifelse | ||
41 | + } def | ||
42 | +/TGSW { stringwidth pop } def | ||
43 | +/tgifstrw 0 def | ||
44 | + | ||
45 | +/bd { bind def } bind def | ||
46 | + | ||
47 | +/GS { gsave } bd | ||
48 | +/GR { grestore } bd | ||
49 | +/NP { newpath } bd | ||
50 | +/CP { closepath } bd | ||
51 | +/CHP { charpath } bd | ||
52 | +/CT { curveto } bd | ||
53 | +/L { lineto } bd | ||
54 | +/RL { rlineto } bd | ||
55 | +/M { moveto } bd | ||
56 | +/RM { rmoveto } bd | ||
57 | +/S { stroke } bd | ||
58 | +/F { fill } bd | ||
59 | +/TR { translate } bd | ||
60 | +/RO { rotate } bd | ||
61 | +/SC { scale } bd | ||
62 | +/MU { mul } bd | ||
63 | +/DI { div } bd | ||
64 | +/DU { dup } bd | ||
65 | +/NE { neg } bd | ||
66 | +/AD { add } bd | ||
67 | +/SU { sub } bd | ||
68 | +/PO { pop } bd | ||
69 | +/EX { exch } bd | ||
70 | +/CO { concat } bd | ||
71 | +/CL { clip } bd | ||
72 | +/EC { eoclip } bd | ||
73 | +/EF { eofill } bd | ||
74 | +/IM { image } bd | ||
75 | +/IMM { imagemask } bd | ||
76 | +/ARY { array } bd | ||
77 | +/SG { setgray } bd | ||
78 | +/RG { setrgbcolor } bd | ||
79 | +/SD { setdash } bd | ||
80 | +/W { setlinewidth } bd | ||
81 | +/SM { setmiterlimit } bd | ||
82 | +/SLC { setlinecap } bd | ||
83 | +/SLJ { setlinejoin } bd | ||
84 | +/SH { show } bd | ||
85 | +/FF { findfont } bd | ||
86 | +/MS { makefont setfont } bd | ||
87 | +/AR { arcto 4 {pop} repeat } bd | ||
88 | +/CURP { currentpoint } bd | ||
89 | +/FLAT { flattenpath strokepath clip newpath } bd | ||
90 | +/TGSM { tgiforigctm setmatrix } def | ||
91 | +/TGRM { savematrix setmatrix } def | ||
92 | + | ||
93 | +end | ||
94 | + | ||
95 | +%%EndProlog | ||
96 | +%%Page: 1 1 | ||
97 | + | ||
98 | +%%PageBoundingBox: -1 335 586 740 | ||
99 | +tgifdict begin | ||
100 | +/tgifsavedpage save def | ||
101 | + | ||
102 | +1 SM | ||
103 | +1 W | ||
104 | + | ||
105 | +0 SG | ||
106 | + | ||
107 | +72 0 MU 72 11.602 MU TR | ||
108 | +72 128 DI 100.000 MU 100 DI DU NE SC | ||
109 | + | ||
110 | +GS | ||
111 | + | ||
112 | +/tgiforigctm matrix currentmatrix def | ||
113 | + | ||
114 | +% TEXT | ||
115 | +NP | ||
116 | +0 SG | ||
117 | + GS | ||
118 | + 1 W | ||
119 | + 260 880 M | ||
120 | + GS | ||
121 | + 0 SG | ||
122 | + /Courier FF [24 0 0 -24 0 0] MS | ||
123 | + (Multi-layer conductor Flex cable) SH | ||
124 | + GR | ||
125 | + GR | ||
126 | + | ||
127 | +% TEXT | ||
128 | +NP | ||
129 | +0 SG | ||
130 | + GS | ||
131 | + 1 W | ||
132 | + 120 325 M | ||
133 | + GS | ||
134 | + 0 SG | ||
135 | + /Courier FF [24 0 0 -24 0 0] MS | ||
136 | + (width) SH | ||
137 | + GR | ||
138 | + GR | ||
139 | + | ||
140 | +% TEXT | ||
141 | +NP | ||
142 | +0 SG | ||
143 | + GS | ||
144 | + 1 W | ||
145 | + 70 475 M | ||
146 | + GS | ||
147 | + 1.000 0.000 1.000 RG | ||
148 | + /Courier FF [24 0 0 -24 0 0] MS | ||
149 | + (Conductor No 1) SH | ||
150 | + GR | ||
151 | + GR | ||
152 | + | ||
153 | +% TEXT | ||
154 | +NP | ||
155 | +0 SG | ||
156 | + GS | ||
157 | + 1 W | ||
158 | + 235 410 M | ||
159 | + GS | ||
160 | + 0 SG | ||
161 | + /Courier FF [24 0 0 -24 0 0] MS | ||
162 | + (height) SH | ||
163 | + GR | ||
164 | + GR | ||
165 | + | ||
166 | +% BOX | ||
167 | +0 SG | ||
168 | +GS | ||
169 | + 10 SM | ||
170 | + GS | ||
171 | + NP 70 390 M 220 390 L 220 420 L 70 420 L CP | ||
172 | + 3 W | ||
173 | + S | ||
174 | + GR | ||
175 | +GR | ||
176 | + | ||
177 | +% POLY/OPEN-SPLINE | ||
178 | +0 SG | ||
179 | +GS | ||
180 | + NP | ||
181 | + 70 340 M | ||
182 | + 0 150 atan DU cos 8.000 MU exch sin 8.000 MU RM | ||
183 | + 0 150 atan DU cos 8.000 MU 220 exch SU | ||
184 | + exch sin 8.000 MU 340 exch SU L | ||
185 | + TGSM | ||
186 | + 1 W | ||
187 | + S | ||
188 | +GR | ||
189 | +GS | ||
190 | + TGSM | ||
191 | + NP | ||
192 | + 70 340 8.000 3.000 -150 0 TGAT | ||
193 | + 1 SG CP F | ||
194 | + 0 SG | ||
195 | + NP | ||
196 | + 70 340 8.000 3.000 -150 0 TGAT | ||
197 | + CP F | ||
198 | +GR | ||
199 | +GS | ||
200 | + TGSM | ||
201 | + NP | ||
202 | + 220 340 8.000 3.000 150 0 TGAT | ||
203 | + 1 SG CP F | ||
204 | + 0 SG | ||
205 | + NP | ||
206 | + 220 340 8.000 3.000 150 0 TGAT | ||
207 | + CP F | ||
208 | +GR | ||
209 | + | ||
210 | +% POLY/OPEN-SPLINE | ||
211 | +0 SG | ||
212 | +GS | ||
213 | + NP | ||
214 | + 230 390 M | ||
215 | + 30 0 atan DU cos 8.000 MU exch sin 8.000 MU RM | ||
216 | + 30 0 atan DU cos 8.000 MU 230 exch SU | ||
217 | + exch sin 8.000 MU 420 exch SU L | ||
218 | + TGSM | ||
219 | + 1 W | ||
220 | + S | ||
221 | +GR | ||
222 | +GS | ||
223 | + TGSM | ||
224 | + NP | ||
225 | + 230 390 8.000 3.000 0 -30 TGAT | ||
226 | + 1 SG CP F | ||
227 | + 0 SG | ||
228 | + NP | ||
229 | + 230 390 8.000 3.000 0 -30 TGAT | ||
230 | + CP F | ||
231 | +GR | ||
232 | +GS | ||
233 | + TGSM | ||
234 | + NP | ||
235 | + 230 420 8.000 3.000 0 30 TGAT | ||
236 | + 1 SG CP F | ||
237 | + 0 SG | ||
238 | + NP | ||
239 | + 230 420 8.000 3.000 0 30 TGAT | ||
240 | + CP F | ||
241 | +GR | ||
242 | + | ||
243 | +% POLY/OPEN-SPLINE | ||
244 | +0 SG | ||
245 | +GS | ||
246 | + NP | ||
247 | + 220 340 M | ||
248 | + 0 105 atan DU cos 8.000 MU exch sin 8.000 MU RM | ||
249 | + 0 105 atan DU cos 8.000 MU 325 exch SU | ||
250 | + exch sin 8.000 MU 340 exch SU L | ||
251 | + TGSM | ||
252 | + 1 W | ||
253 | + S | ||
254 | +GR | ||
255 | +GS | ||
256 | + TGSM | ||
257 | + NP | ||
258 | + 220 340 8.000 3.000 -105 0 TGAT | ||
259 | + 1 SG CP F | ||
260 | + 0 SG | ||
261 | + NP | ||
262 | + 220 340 8.000 3.000 -105 0 TGAT | ||
263 | + CP F | ||
264 | +GR | ||
265 | +GS | ||
266 | + TGSM | ||
267 | + NP | ||
268 | + 325 340 8.000 3.000 105 0 TGAT | ||
269 | + 1 SG CP F | ||
270 | + 0 SG | ||
271 | + NP | ||
272 | + 325 340 8.000 3.000 105 0 TGAT | ||
273 | + CP F | ||
274 | +GR | ||
275 | + | ||
276 | +% TEXT | ||
277 | +NP | ||
278 | +0 SG | ||
279 | + GS | ||
280 | + 1 W | ||
281 | + 220 325 M | ||
282 | + GS | ||
283 | + 0 SG | ||
284 | + /Courier FF [24 0 0 -24 0 0] MS | ||
285 | + (separation) SH | ||
286 | + GR | ||
287 | + GR | ||
288 | + | ||
289 | +% BOX | ||
290 | +1.000 0.000 0.000 RG | ||
291 | +GS | ||
292 | + 10 SM | ||
293 | + GS | ||
294 | + NP 55 360 M 920 360 L 920 790 L 55 790 L CP | ||
295 | + 2 W | ||
296 | + S | ||
297 | + GR | ||
298 | +GR | ||
299 | + | ||
300 | +% BOX | ||
301 | +0 SG | ||
302 | +GS | ||
303 | + 10 SM | ||
304 | + GS | ||
305 | + NP 330 390 M 480 390 L 480 420 L 330 420 L CP | ||
306 | + 3 W | ||
307 | + S | ||
308 | + GR | ||
309 | +GR | ||
310 | + | ||
311 | +% BOX | ||
312 | +0 SG | ||
313 | +GS | ||
314 | + 10 SM | ||
315 | + GS | ||
316 | + NP 695 390 M 845 390 L 845 420 L 695 420 L CP | ||
317 | + 3 W | ||
318 | + S | ||
319 | + GR | ||
320 | +GR | ||
321 | + | ||
322 | +% POLY/OPEN-SPLINE | ||
323 | +0 SG | ||
324 | +GS | ||
325 | + [16 16] 0 SD | ||
326 | + NP | ||
327 | + 495 410 M | ||
328 | + 655 410 L | ||
329 | + TGSM | ||
330 | + 4 W | ||
331 | + S | ||
332 | + [] 0 SD | ||
333 | + 1 W | ||
334 | +GR | ||
335 | + | ||
336 | +% TEXT | ||
337 | +NP | ||
338 | +0 SG | ||
339 | + GS | ||
340 | + 1 W | ||
341 | + 315 475 M | ||
342 | + GS | ||
343 | + 1.000 0.000 1.000 RG | ||
344 | + /Courier FF [24 0 0 -24 0 0] MS | ||
345 | + (Conductor No 2) SH | ||
346 | + GR | ||
347 | + GR | ||
348 | + | ||
349 | +% TEXT | ||
350 | +NP | ||
351 | +0 SG | ||
352 | + GS | ||
353 | + 1 W | ||
354 | + 730 835 M | ||
355 | + GS | ||
356 | + 1.000 0.000 1.000 RG | ||
357 | + /Courier FF [24 0 0 -24 0 0] MS | ||
358 | + (Conductor No nc) SH | ||
359 | + GR | ||
360 | + GR | ||
361 | + | ||
362 | +% BOX | ||
363 | +0 SG | ||
364 | +GS | ||
365 | + 10 SM | ||
366 | + GS | ||
367 | + NP 100 740 M 875 740 L 875 755 L 100 755 L CP | ||
368 | + 3 W | ||
369 | + S | ||
370 | + GR | ||
371 | +GR | ||
372 | + | ||
373 | +% BOX | ||
374 | +0 SG | ||
375 | +GS | ||
376 | + 10 SM | ||
377 | + GS | ||
378 | + NP 130 595 M 280 595 L 280 625 L 130 625 L CP | ||
379 | + 3 W | ||
380 | + S | ||
381 | + GR | ||
382 | +GR | ||
383 | + | ||
384 | +% BOX | ||
385 | +0 SG | ||
386 | +GS | ||
387 | + 10 SM | ||
388 | + GS | ||
389 | + NP 400 595 M 553 595 L 553 625 L 400 625 L CP | ||
390 | + 3 W | ||
391 | + S | ||
392 | + GR | ||
393 | +GR | ||
394 | + | ||
395 | +% POLY/OPEN-SPLINE | ||
396 | +0 SG | ||
397 | +GS | ||
398 | + [16 16] 0 SD | ||
399 | + NP | ||
400 | + 296 610 M | ||
401 | + 384 610 L | ||
402 | + TGSM | ||
403 | + 4 W | ||
404 | + S | ||
405 | + [] 0 SD | ||
406 | + 1 W | ||
407 | +GR | ||
408 | + | ||
409 | +% POLY/OPEN-SPLINE | ||
410 | +0 SG | ||
411 | +GS | ||
412 | + [4 12] 0 SD | ||
413 | + NP | ||
414 | + 230 665 M | ||
415 | + 230 730 L | ||
416 | + TGSM | ||
417 | + 4 W | ||
418 | + S | ||
419 | + [] 0 SD | ||
420 | + 1 W | ||
421 | +GR | ||
422 | + | ||
423 | +% POLY/OPEN-SPLINE | ||
424 | +0 SG | ||
425 | +GS | ||
426 | + [4 12] 0 SD | ||
427 | + NP | ||
428 | + 750 660 M | ||
429 | + 750 725 L | ||
430 | + TGSM | ||
431 | + 4 W | ||
432 | + S | ||
433 | + [] 0 SD | ||
434 | + 1 W | ||
435 | +GR | ||
436 | + | ||
437 | +% POLY/OPEN-SPLINE | ||
438 | +1.000 0.000 1.000 RG | ||
439 | +GS | ||
440 | + NP | ||
441 | + 850 805 M | ||
442 | + -60 -80 atan DU cos 8.000 MU 770 exch SU | ||
443 | + exch sin 8.000 MU 745 exch SU L | ||
444 | + TGSM | ||
445 | + 1 W | ||
446 | + S | ||
447 | +GR | ||
448 | +GS | ||
449 | + TGSM | ||
450 | + NP | ||
451 | + 770 745 8.000 3.000 -80 -60 TGAT | ||
452 | + 1 SG CP F | ||
453 | + 1.000 0.000 1.000 RG | ||
454 | + NP | ||
455 | + 770 745 8.000 3.000 -80 -60 TGAT | ||
456 | + CP F | ||
457 | +GR | ||
458 | + | ||
459 | +% POLY/OPEN-SPLINE | ||
460 | +1.000 0.000 1.000 RG | ||
461 | +GS | ||
462 | + NP | ||
463 | + 175 450 M | ||
464 | + -45 -5 atan DU cos 8.000 MU 170 exch SU | ||
465 | + exch sin 8.000 MU 405 exch SU L | ||
466 | + TGSM | ||
467 | + 1 W | ||
468 | + S | ||
469 | +GR | ||
470 | +GS | ||
471 | + TGSM | ||
472 | + NP | ||
473 | + 170 405 8.000 3.000 -5 -45 TGAT | ||
474 | + 1 SG CP F | ||
475 | + 1.000 0.000 1.000 RG | ||
476 | + NP | ||
477 | + 170 405 8.000 3.000 -5 -45 TGAT | ||
478 | + CP F | ||
479 | +GR | ||
480 | + | ||
481 | +% POLY/OPEN-SPLINE | ||
482 | +1.000 0.000 1.000 RG | ||
483 | +GS | ||
484 | + NP | ||
485 | + 425 460 M | ||
486 | + -55 -10 atan DU cos 8.000 MU 415 exch SU | ||
487 | + exch sin 8.000 MU 405 exch SU L | ||
488 | + TGSM | ||
489 | + 1 W | ||
490 | + S | ||
491 | +GR | ||
492 | +GS | ||
493 | + TGSM | ||
494 | + NP | ||
495 | + 415 405 8.000 3.000 -10 -55 TGAT | ||
496 | + 1 SG CP F | ||
497 | + 1.000 0.000 1.000 RG | ||
498 | + NP | ||
499 | + 415 405 8.000 3.000 -10 -55 TGAT | ||
500 | + CP F | ||
501 | +GR | ||
502 | + | ||
503 | +% TEXT | ||
504 | +NP | ||
505 | +0 SG | ||
506 | + GS | ||
507 | + 1 W | ||
508 | + 950 275 M | ||
509 | + GS | ||
510 | + 0 SG | ||
511 | + /Courier FF [24 0 0 -24 0 0] MS | ||
512 | + (Row ) SH | ||
513 | + GR | ||
514 | + 0 24 RM | ||
515 | + GS | ||
516 | + 0 SG | ||
517 | + /Courier FF [24 0 0 -24 0 0] MS | ||
518 | + (Number) SH | ||
519 | + GR | ||
520 | + GR | ||
521 | + | ||
522 | +% POLY/OPEN-SPLINE | ||
523 | +0 SG | ||
524 | +GS | ||
525 | + NP | ||
526 | + 985 310 M | ||
527 | + 55 0 atan DU cos 8.000 MU 985 exch SU | ||
528 | + exch sin 8.000 MU 365 exch SU L | ||
529 | + TGSM | ||
530 | + 1 W | ||
531 | + S | ||
532 | +GR | ||
533 | +GS | ||
534 | + TGSM | ||
535 | + NP | ||
536 | + 985 365 8.000 3.000 0 55 TGAT | ||
537 | + 1 SG CP F | ||
538 | + 0 SG | ||
539 | + NP | ||
540 | + 985 365 8.000 3.000 0 55 TGAT | ||
541 | + CP F | ||
542 | +GR | ||
543 | + | ||
544 | +% TEXT | ||
545 | +NP | ||
546 | +0 SG | ||
547 | + GS | ||
548 | + 1 W | ||
549 | + 970 405 M | ||
550 | + GS | ||
551 | + 0 SG | ||
552 | + /Courier FF [24 0 0 -24 0 0] MS | ||
553 | + (1) SH | ||
554 | + GR | ||
555 | + GR | ||
556 | + | ||
557 | +% TEXT | ||
558 | +NP | ||
559 | +0 SG | ||
560 | + GS | ||
561 | + 1 W | ||
562 | + 975 620 M | ||
563 | + GS | ||
564 | + 0 SG | ||
565 | + /Courier FF [24 0 0 -24 0 0] MS | ||
566 | + (2) SH | ||
567 | + GR | ||
568 | + GR | ||
569 | + | ||
570 | +% TEXT | ||
571 | +NP | ||
572 | +0 SG | ||
573 | + GS | ||
574 | + 1 W | ||
575 | + 940 760 M | ||
576 | + GS | ||
577 | + 0 SG | ||
578 | + /Courier FF [24 0 0 -24 0 0] MS | ||
579 | + (n_rows) SH | ||
580 | + GR | ||
581 | + GR | ||
582 | + | ||
583 | +% POLY/OPEN-SPLINE | ||
584 | +0 SG | ||
585 | +GS | ||
586 | + [4 12] 0 SD | ||
587 | + NP | ||
588 | + 980 650 M | ||
589 | + 980 715 L | ||
590 | + TGSM | ||
591 | + 4 W | ||
592 | + S | ||
593 | + [] 0 SD | ||
594 | + 1 W | ||
595 | +GR | ||
596 | + | ||
597 | +% POLY/OPEN-SPLINE | ||
598 | +0 SG | ||
599 | +GS | ||
600 | + NP | ||
601 | + 475 555 M | ||
602 | + -370 0 atan DU cos 8.000 MU 475 exch SU | ||
603 | + exch sin 8.000 MU 185 exch SU L | ||
604 | + TGSM | ||
605 | + 1 W | ||
606 | + S | ||
607 | +GR | ||
608 | +GS | ||
609 | + TGSM | ||
610 | + NP | ||
611 | + 475 185 8.000 3.000 0 -370 TGAT | ||
612 | + 1 SG CP F | ||
613 | + 0 SG | ||
614 | + NP | ||
615 | + 475 185 8.000 3.000 0 -370 TGAT | ||
616 | + CP F | ||
617 | +GR | ||
618 | + | ||
619 | +% POLY/OPEN-SPLINE | ||
620 | +0 SG | ||
621 | +GS | ||
622 | + NP | ||
623 | + 475 555 M | ||
624 | + 0 485 atan DU cos 8.000 MU 960 exch SU | ||
625 | + exch sin 8.000 MU 555 exch SU L | ||
626 | + TGSM | ||
627 | + 1 W | ||
628 | + S | ||
629 | +GR | ||
630 | +GS | ||
631 | + TGSM | ||
632 | + NP | ||
633 | + 960 555 8.000 3.000 485 0 TGAT | ||
634 | + 1 SG CP F | ||
635 | + 0 SG | ||
636 | + NP | ||
637 | + 960 555 8.000 3.000 485 0 TGAT | ||
638 | + CP F | ||
639 | +GR | ||
640 | + | ||
641 | +% TEXT | ||
642 | +NP | ||
643 | +0 SG | ||
644 | + GS | ||
645 | + 1 W | ||
646 | + 490 190 M | ||
647 | + GS | ||
648 | + 0 SG | ||
649 | + /Courier FF [24 0 0 -24 0 0] MS | ||
650 | + (y) SH | ||
651 | + GR | ||
652 | + GR | ||
653 | + | ||
654 | +% TEXT | ||
655 | +NP | ||
656 | +0 SG | ||
657 | + GS | ||
658 | + 1 W | ||
659 | + 940 540 M | ||
660 | + GS | ||
661 | + 0 SG | ||
662 | + /Courier FF [24 0 0 -24 0 0] MS | ||
663 | + (x) SH | ||
664 | + GR | ||
665 | + GR | ||
666 | + | ||
667 | +% POLY/OPEN-SPLINE | ||
668 | +0 SG | ||
669 | +GS | ||
670 | + NP | ||
671 | + 55 280 M | ||
672 | + 0 860 atan DU cos 8.000 MU exch sin 8.000 MU RM | ||
673 | + 0 860 atan DU cos 8.000 MU 915 exch SU | ||
674 | + exch sin 8.000 MU 280 exch SU L | ||
675 | + TGSM | ||
676 | + 1 W | ||
677 | + S | ||
678 | +GR | ||
679 | +GS | ||
680 | + TGSM | ||
681 | + NP | ||
682 | + 55 280 8.000 3.000 -860 0 TGAT | ||
683 | + 1 SG CP F | ||
684 | + 0 SG | ||
685 | + NP | ||
686 | + 55 280 8.000 3.000 -860 0 TGAT | ||
687 | + CP F | ||
688 | +GR | ||
689 | +GS | ||
690 | + TGSM | ||
691 | + NP | ||
692 | + 915 280 8.000 3.000 860 0 TGAT | ||
693 | + 1 SG CP F | ||
694 | + 0 SG | ||
695 | + NP | ||
696 | + 915 280 8.000 3.000 860 0 TGAT | ||
697 | + CP F | ||
698 | +GR | ||
699 | + | ||
700 | +% TEXT | ||
701 | +NP | ||
702 | +0 SG | ||
703 | + GS | ||
704 | + 1 W | ||
705 | + 320 265 M | ||
706 | + GS | ||
707 | + 0 SG | ||
708 | + /Courier FF [24 0 0 -24 0 0] MS | ||
709 | + (dielectric width) SH | ||
710 | + GR | ||
711 | + GR | ||
712 | + | ||
713 | +% POLY/OPEN-SPLINE | ||
714 | +0 SG | ||
715 | +GS | ||
716 | + NP | ||
717 | + 30 360 M | ||
718 | + 425 0 atan DU cos 8.000 MU exch sin 8.000 MU RM | ||
719 | + 425 0 atan DU cos 8.000 MU 30 exch SU | ||
720 | + exch sin 8.000 MU 785 exch SU L | ||
721 | + TGSM | ||
722 | + 1 W | ||
723 | + S | ||
724 | +GR | ||
725 | +GS | ||
726 | + TGSM | ||
727 | + NP | ||
728 | + 30 360 8.000 3.000 0 -425 TGAT | ||
729 | + 1 SG CP F | ||
730 | + 0 SG | ||
731 | + NP | ||
732 | + 30 360 8.000 3.000 0 -425 TGAT | ||
733 | + CP F | ||
734 | +GR | ||
735 | +GS | ||
736 | + TGSM | ||
737 | + NP | ||
738 | + 30 785 8.000 3.000 0 425 TGAT | ||
739 | + 1 SG CP F | ||
740 | + 0 SG | ||
741 | + NP | ||
742 | + 30 785 8.000 3.000 0 425 TGAT | ||
743 | + CP F | ||
744 | +GR | ||
745 | + | ||
746 | +% TEXT | ||
747 | +NP | ||
748 | +0 SG | ||
749 | +GS | ||
750 | + -192 584 TR | ||
751 | + [0.000 -1.000 1.000 0.000 193 107] CO | ||
752 | + -192 NE 584 NE TR | ||
753 | +GR | ||
754 | + GS | ||
755 | + 1 W | ||
756 | + -192 584 TR | ||
757 | + [0.000 -1.000 1.000 0.000 193 107] CO | ||
758 | + 0 19 M | ||
759 | + GS | ||
760 | + 0 SG | ||
761 | + /Courier FF [24 0 0 -24 0 0] MS | ||
762 | + (dielectric height) SH | ||
763 | + GR | ||
764 | + GR | ||
765 | + | ||
766 | +% POLY/OPEN-SPLINE | ||
767 | +0.000 0.000 1.000 RG | ||
768 | +GS | ||
769 | + NP | ||
770 | + 475 555 M | ||
771 | + -150 -45 atan DU cos 8.000 MU 430 exch SU | ||
772 | + exch sin 8.000 MU 405 exch SU L | ||
773 | + TGSM | ||
774 | + 1 W | ||
775 | + S | ||
776 | +GR | ||
777 | +GS | ||
778 | + TGSM | ||
779 | + NP | ||
780 | + 430 405 8.000 3.000 -45 -150 TGAT | ||
781 | + 1 SG CP F | ||
782 | + 0.000 0.000 1.000 RG | ||
783 | + NP | ||
784 | + 430 405 8.000 3.000 -45 -150 TGAT | ||
785 | + CP F | ||
786 | +GR | ||
787 | + | ||
788 | +% TEXT | ||
789 | +NP | ||
790 | + /tgifstrw 0 def | ||
791 | + /tgifstrw tgifstrw | ||
792 | + /Courier FF [24 0 0 -24 0 0] MS | ||
793 | + (row 1 offset) TGSW | ||
794 | + add def | ||
795 | +0 SG | ||
796 | +NP 280 500 M tgifstrw 0 RL 0 25 RL tgifstrw neg 0 RL CP 1 SG F | ||
797 | +0 SG | ||
798 | + GS | ||
799 | + 1 W | ||
800 | + 280 520 M | ||
801 | + GS | ||
802 | + 0.000 0.000 1.000 RG | ||
803 | + /Courier FF [24 0 0 -24 0 0] MS | ||
804 | + (row 1 offset) SH | ||
805 | + GR | ||
806 | + GR | ||
807 | + | ||
808 | +% POLY/OPEN-SPLINE | ||
809 | +0.000 0.000 1.000 RG | ||
810 | +GS | ||
811 | + NP | ||
812 | + 475 555 M | ||
813 | + 55 -135 atan DU cos 8.000 MU 340 exch SU | ||
814 | + exch sin 8.000 MU 610 exch SU L | ||
815 | + TGSM | ||
816 | + 1 W | ||
817 | + S | ||
818 | +GR | ||
819 | +GS | ||
820 | + TGSM | ||
821 | + NP | ||
822 | + 340 610 8.000 3.000 -135 55 TGAT | ||
823 | + 1 SG CP F | ||
824 | + 0.000 0.000 1.000 RG | ||
825 | + NP | ||
826 | + 340 610 8.000 3.000 -135 55 TGAT | ||
827 | + CP F | ||
828 | +GR | ||
829 | + | ||
830 | +% TEXT | ||
831 | +NP | ||
832 | +0 SG | ||
833 | + GS | ||
834 | + 1 W | ||
835 | + 205 580 M | ||
836 | + GS | ||
837 | + 0.000 0.000 1.000 RG | ||
838 | + /Courier FF [24 0 0 -24 0 0] MS | ||
839 | + (row 2 offset) SH | ||
840 | + GR | ||
841 | + GR | ||
842 | + | ||
843 | +% POLY/OPEN-SPLINE | ||
844 | +0.000 0.000 1.000 RG | ||
845 | +GS | ||
846 | + NP | ||
847 | + 475 555 M | ||
848 | + 190 0 atan DU cos 8.000 MU 475 exch SU | ||
849 | + exch sin 8.000 MU 745 exch SU L | ||
850 | + TGSM | ||
851 | + 1 W | ||
852 | + S | ||
853 | +GR | ||
854 | +GS | ||
855 | + TGSM | ||
856 | + NP | ||
857 | + 475 745 8.000 3.000 0 190 TGAT | ||
858 | + 1 SG CP F | ||
859 | + 0.000 0.000 1.000 RG | ||
860 | + NP | ||
861 | + 475 745 8.000 3.000 0 190 TGAT | ||
862 | + CP F | ||
863 | +GR | ||
864 | + | ||
865 | +% TEXT | ||
866 | +NP | ||
867 | +0 SG | ||
868 | + GS | ||
869 | + 1 W | ||
870 | + 490 695 M | ||
871 | + GS | ||
872 | + 0.000 0.000 1.000 RG | ||
873 | + /Courier FF [24 0 0 -24 0 0] MS | ||
874 | + (row n offset) SH | ||
875 | + GR | ||
876 | + GR | ||
877 | + | ||
878 | +% TEXT | ||
879 | +NP | ||
880 | +0 SG | ||
881 | + GS | ||
882 | + 1 W | ||
883 | + 665 455 M | ||
884 | + GS | ||
885 | + 1.000 0.000 1.000 RG | ||
886 | + /Courier FF [24 0 0 -24 0 0] MS | ||
887 | + (Conductor No n,) SH | ||
888 | + GR | ||
889 | + 0 24 RM | ||
890 | + GS | ||
891 | + 1.000 0.000 1.000 RG | ||
892 | + /Courier FF [24 0 0 -24 0 0] MS | ||
893 | + (row 1) SH | ||
894 | + GR | ||
895 | + GR | ||
896 | + | ||
897 | +% POLY/OPEN-SPLINE | ||
898 | +1.000 0.000 1.000 RG | ||
899 | +GS | ||
900 | + NP | ||
901 | + 765 435 M | ||
902 | + -30 5 atan DU cos 8.000 MU 770 exch SU | ||
903 | + exch sin 8.000 MU 405 exch SU L | ||
904 | + TGSM | ||
905 | + 1 W | ||
906 | + S | ||
907 | +GR | ||
908 | +GS | ||
909 | + TGSM | ||
910 | + NP | ||
911 | + 770 405 8.000 3.000 5 -30 TGAT | ||
912 | + 1 SG CP F | ||
913 | + 1.000 0.000 1.000 RG | ||
914 | + NP | ||
915 | + 770 405 8.000 3.000 5 -30 TGAT | ||
916 | + CP F | ||
917 | +GR | ||
918 | + | ||
919 | +GR | ||
920 | +tgifsavedpage restore | ||
921 | +end | ||
922 | +showpage | ||
923 | + | ||
924 | +%%Trailer | ||
925 | +%MatchingCreationDate: Wed Jun 20 11:47:45 2018 | ||
926 | +%%DocumentFonts: Courier | ||
927 | +%%EOF |
@@ -0,0 +1,343 @@ | @@ -0,0 +1,343 @@ | ||
1 | +%TGIF 4.2.5-QPL | ||
2 | +state(0,37,100.000,0,176,0,16,1,14,1,1,0,0,1,2,1,0,'Courier',0,138240,0,0,1,5,0,0,1,1,0,16,0,0,1,1,1,1,1050,1485,1,0,2880,0). | ||
3 | +% | ||
4 | +% @(#)$Header$ | ||
5 | +% %W% | ||
6 | +% | ||
7 | +unit("1 pixel/pixel"). | ||
8 | +color_info(50,65535,0,[ | ||
9 | + "Black", 0, 0, 0, 0, 0, 0, 1, | ||
10 | + "White", 65535, 65535, 65535, 65535, 65535, 65535, 1, | ||
11 | + "#000080", 0, 0, 32896, 0, 0, 32768, 1, | ||
12 | + "#008000", 0, 32896, 0, 0, 32768, 0, 1, | ||
13 | + "#008080", 0, 32896, 32896, 0, 32768, 32768, 1, | ||
14 | + "#800000", 32896, 0, 0, 32768, 0, 0, 1, | ||
15 | + "#800080", 32896, 0, 32896, 32768, 0, 32768, 1, | ||
16 | + "#ff8000", 65535, 32896, 0, 65280, 32768, 0, 1, | ||
17 | + "#808080", 32896, 32896, 32896, 32768, 32768, 32768, 1, | ||
18 | + "#c0c0c0", 49344, 49344, 49344, 49152, 49152, 49152, 1, | ||
19 | + "#0000ff", 0, 0, 65535, 0, 0, 65280, 1, | ||
20 | + "#00ff00", 0, 65535, 0, 0, 65280, 0, 1, | ||
21 | + "#00ffff", 0, 65535, 65535, 0, 65280, 65280, 1, | ||
22 | + "#ff0000", 65535, 0, 0, 65280, 0, 0, 1, | ||
23 | + "#ff00ff", 65535, 0, 65535, 65280, 0, 65280, 1, | ||
24 | + "#ffff00", 65535, 65535, 0, 65280, 65280, 0, 1, | ||
25 | + "#4c4c4c", 19532, 19532, 19532, 19456, 19456, 19456, 1, | ||
26 | + "#b3b3b3", 46003, 46003, 46003, 45824, 45824, 45824, 1, | ||
27 | + "#e6e6e6", 59110, 59110, 59110, 58880, 58880, 58880, 1, | ||
28 | + "#dc2300", 56540, 8995, 0, 56320, 8960, 0, 1, | ||
29 | + "#ff3333", 65535, 13107, 13107, 65280, 13056, 13056, 1, | ||
30 | + "#b84747", 47288, 18247, 18247, 47104, 18176, 18176, 1, | ||
31 | + "#99284c", 39321, 10280, 19532, 39168, 10240, 19456, 1, | ||
32 | + "#94476b", 38036, 18247, 27499, 37888, 18176, 27392, 1, | ||
33 | + "#9966cc", 39321, 26214, 52428, 39168, 26112, 52224, 1, | ||
34 | + "#6b2394", 27499, 8995, 38036, 27392, 8960, 37888, 1, | ||
35 | + "#5e11a6", 24158, 4369, 42662, 24064, 4352, 42496, 1, | ||
36 | + "#4700b8", 18247, 0, 47288, 18176, 0, 47104, 1, | ||
37 | + "#2323dc", 8995, 8995, 56540, 8960, 8960, 56320, 1, | ||
38 | + "#0099ff", 0, 39321, 65535, 0, 39168, 65280, 1, | ||
39 | + "#99ccff", 39321, 52428, 65535, 39168, 52224, 65280, 1, | ||
40 | + "#00dcff", 0, 56540, 65535, 0, 56320, 65280, 1, | ||
41 | + "#23b8dc", 8995, 47288, 56540, 8960, 47104, 56320, 1, | ||
42 | + "#33a3a3", 13107, 41891, 41891, 13056, 41728, 41728, 1, | ||
43 | + "#355e00", 13621, 24158, 0, 13568, 24064, 0, 1, | ||
44 | + "#7da647", 32125, 42662, 18247, 32000, 42496, 18176, 1, | ||
45 | + "#00ae00", 0, 44718, 0, 0, 44544, 0, 1, | ||
46 | + "#3deb3d", 15677, 60395, 15677, 15616, 60160, 15616, 1, | ||
47 | + "#ffff99", 65535, 65535, 39321, 65280, 65280, 39168, 1, | ||
48 | + "#e6e64c", 59110, 59110, 19532, 58880, 58880, 19456, 1, | ||
49 | + "#b3b300", 46003, 46003, 0, 45824, 45824, 0, 1, | ||
50 | + "#666600", 26214, 26214, 0, 26112, 26112, 0, 1, | ||
51 | + "#4c1900", 19532, 6425, 0, 19456, 6400, 0, 1, | ||
52 | + "#663300", 26214, 13107, 0, 26112, 13056, 0, 1, | ||
53 | + "#804c19", 32896, 19532, 6425, 32768, 19456, 6400, 1, | ||
54 | + "#996633", 39321, 26214, 13107, 39168, 26112, 13056, 1, | ||
55 | + "#cc6633", 52428, 26214, 13107, 52224, 26112, 13056, 1, | ||
56 | + "#ff6633", 65535, 26214, 13107, 65280, 26112, 13056, 1, | ||
57 | + "#ff9966", 65535, 39321, 26214, 65280, 39168, 26112, 1, | ||
58 | + "#ffcc99", 65535, 52428, 39321, 65280, 52224, 39168, 1 | ||
59 | +]). | ||
60 | +script_frac("0.6"). | ||
61 | +fg_bg_colors('#ff00ff','white'). | ||
62 | +dont_reencode("FFDingbests:ZapfDingbats"). | ||
63 | +objshadow_info('#c0c0c0',2,2). | ||
64 | +rotate_pivot(0,0,0,0). | ||
65 | +spline_tightness(1). | ||
66 | +page(1,"",1,''). | ||
67 | +text('Black',260,861,1,0,1,480,24,27,19,5,0,0,0,0,-65534,480,24,0,0,"",0,0,0,0,880,'',[ | ||
68 | +minilines(480,24,0,0,0,0,0,[ | ||
69 | +mini_line(480,19,5,0,0,0,[ | ||
70 | +str_block(0,480,19,5,0,-2,0,0,0,[ | ||
71 | +str_seg('Black','Courier',0,138240,480,19,5,0,-2,0,0,0,0,0, | ||
72 | + "Multi-layer conductor Flex cable")]) | ||
73 | +]) | ||
74 | +])]). | ||
75 | +text('Black',120,306,1,0,1,75,24,173,19,5,0,0,0,0,-65534,75,24,0,0,"",0,0,0,0,325,'',[ | ||
76 | +minilines(75,24,0,0,0,0,0,[ | ||
77 | +mini_line(75,19,5,0,0,0,[ | ||
78 | +str_block(0,75,19,5,0,-1,0,0,0,[ | ||
79 | +str_seg('Black','Courier',0,138240,75,19,5,0,-1,0,0,0,0,0, | ||
80 | + "width")]) | ||
81 | +]) | ||
82 | +])]). | ||
83 | +text('Black',70,456,1,0,1,210,24,284,19,5,0,0,0,0,-65534,210,24,0,0,"",0,0,0,0,475,'',[ | ||
84 | +minilines(210,24,0,0,0,0,0,[ | ||
85 | +mini_line(210,19,5,0,0,0,[ | ||
86 | +str_block(0,210,19,5,0,-3,0,0,0,[ | ||
87 | +str_seg('#ff00ff','Courier',0,138240,210,19,5,0,-3,0,0,0,0,0, | ||
88 | + "Conductor No 1")]) | ||
89 | +]) | ||
90 | +])]). | ||
91 | +text('Black',235,391,1,0,1,90,24,288,19,5,0,0,0,0,-65534,90,24,0,0,"",0,0,0,0,410,'',[ | ||
92 | +minilines(90,24,0,0,0,0,0,[ | ||
93 | +mini_line(90,19,5,0,0,0,[ | ||
94 | +str_block(0,90,19,5,0,-3,0,0,0,[ | ||
95 | +str_seg('Black','Courier',0,138240,90,19,5,0,-3,0,0,0,0,0, | ||
96 | + "height")]) | ||
97 | +]) | ||
98 | +])]). | ||
99 | +box('Black','',70,390,220,420,0,3,1,291,0,0,0,0,0,'3',0,[ | ||
100 | +]). | ||
101 | +poly('Black','',2,[ | ||
102 | + 70,340,220,340],3,1,1,300,0,0,0,0,0,0,0,'1',0,0, | ||
103 | + "0","",[ | ||
104 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
105 | +]). | ||
106 | +poly('Black','',2,[ | ||
107 | + 230,390,230,420],3,1,1,316,0,0,0,0,0,0,0,'1',0,0, | ||
108 | + "0","",[ | ||
109 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
110 | +]). | ||
111 | +poly('Black','',2,[ | ||
112 | + 220,340,325,340],3,1,1,319,0,0,0,0,0,0,0,'1',0,0, | ||
113 | + "0","",[ | ||
114 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
115 | +]). | ||
116 | +text('Black',220,306,1,0,1,150,24,320,19,5,0,0,0,0,-65534,150,24,0,0,"",0,0,0,0,325,'',[ | ||
117 | +minilines(150,24,0,0,0,0,0,[ | ||
118 | +mini_line(150,19,5,0,0,0,[ | ||
119 | +str_block(0,150,19,5,0,-1,0,0,0,[ | ||
120 | +str_seg('Black','Courier',0,138240,150,19,5,0,-1,0,0,0,0,0, | ||
121 | + "separation")]) | ||
122 | +]) | ||
123 | +])]). | ||
124 | +box('#ff0000','',55,360,920,790,0,2,1,322,0,0,0,0,0,'2',0,[ | ||
125 | +]). | ||
126 | +box('Black','',330,390,480,420,0,3,1,325,0,0,0,0,0,'3',0,[ | ||
127 | +]). | ||
128 | +box('Black','',695,390,845,420,0,3,1,326,0,0,0,0,0,'3',0,[ | ||
129 | +]). | ||
130 | +poly('Black','',2,[ | ||
131 | + 495,410,655,410],0,4,1,330,0,0,7,0,0,0,0,'4',0,0, | ||
132 | + "0","",[ | ||
133 | + 0,14,6,0,'14','6','0'],[0,14,6,0,'14','6','0'],[ | ||
134 | +]). | ||
135 | +text('Black',315,456,1,0,1,210,24,353,19,5,0,0,0,0,-65534,210,24,0,0,"",0,0,0,0,475,'',[ | ||
136 | +minilines(210,24,0,0,0,0,0,[ | ||
137 | +mini_line(210,19,5,0,0,0,[ | ||
138 | +str_block(0,210,19,5,0,-4,0,0,0,[ | ||
139 | +str_seg('#ff00ff','Courier',0,138240,210,19,5,0,-4,0,0,0,0,0, | ||
140 | + "Conductor No 2")]) | ||
141 | +]) | ||
142 | +])]). | ||
143 | +text('Black',730,816,1,0,1,225,24,356,19,5,0,0,0,0,-65534,225,24,0,0,"",0,0,0,0,835,'',[ | ||
144 | +minilines(225,24,0,0,0,0,0,[ | ||
145 | +mini_line(225,19,5,0,0,0,[ | ||
146 | +str_block(0,225,19,5,0,-2,0,0,0,[ | ||
147 | +str_seg('#ff00ff','Courier',0,138240,225,19,5,0,-2,0,0,0,0,0, | ||
148 | + "Conductor No nc")]) | ||
149 | +]) | ||
150 | +])]). | ||
151 | +box('Black','',100,740,875,755,0,3,1,369,0,0,0,0,0,'3',0,[ | ||
152 | +]). | ||
153 | +box('Black','',130,595,280,625,0,3,1,379,0,0,0,0,0,'3',0,[ | ||
154 | +]). | ||
155 | +box('Black','',400,595,553,625,0,3,1,382,0,0,0,0,0,'3',0,[ | ||
156 | +]). | ||
157 | +poly('Black','',2,[ | ||
158 | + 296,610,384,610],0,4,1,383,0,0,7,0,0,0,0,'4',0,0, | ||
159 | + "0","",[ | ||
160 | + 0,14,6,0,'14','6','0'],[0,14,6,0,'14','6','0'],[ | ||
161 | +]). | ||
162 | +poly('Black','',2,[ | ||
163 | + 230,665,230,730],0,4,1,391,0,0,1,0,0,0,0,'4',0,0, | ||
164 | + "0","",[ | ||
165 | + 0,14,6,0,'14','6','0'],[0,14,6,0,'14','6','0'],[ | ||
166 | +]). | ||
167 | +poly('Black','',2,[ | ||
168 | + 750,660,750,725],0,4,1,399,0,0,1,0,0,0,0,'4',0,0, | ||
169 | + "0","",[ | ||
170 | + 0,14,6,0,'14','6','0'],[0,14,6,0,'14','6','0'],[ | ||
171 | +]). | ||
172 | +poly('#ff00ff','',2,[ | ||
173 | + 850,805,770,745],1,1,1,401,0,0,0,0,0,0,0,'1',0,0, | ||
174 | + "0","",[ | ||
175 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
176 | +]). | ||
177 | +poly('#ff00ff','',2,[ | ||
178 | + 175,450,170,405],1,1,1,403,0,0,0,0,0,0,0,'1',0,0, | ||
179 | + "0","",[ | ||
180 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
181 | +]). | ||
182 | +poly('#ff00ff','',2,[ | ||
183 | + 425,460,415,405],1,1,1,408,0,0,0,0,0,0,0,'1',0,0, | ||
184 | + "0","",[ | ||
185 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
186 | +]). | ||
187 | +text('Black',950,256,2,0,1,90,48,410,19,5,0,0,0,0,-65534,90,48,0,0,"",0,0,0,0,275,'',[ | ||
188 | +minilines(90,48,0,0,0,0,0,[ | ||
189 | +mini_line(60,19,5,0,0,0,[ | ||
190 | +str_block(0,60,19,5,0,-14,0,0,0,[ | ||
191 | +str_seg('Black','Courier',0,138240,60,19,5,0,-14,0,0,0,0,0, | ||
192 | + "Row ")]) | ||
193 | +]), | ||
194 | +mini_line(90,19,5,0,0,0,[ | ||
195 | +str_block(0,90,19,5,0,-2,0,0,0,[ | ||
196 | +str_seg('Black','Courier',0,138240,90,19,5,0,-2,0,0,0,0,0, | ||
197 | + "Number")]) | ||
198 | +]) | ||
199 | +])]). | ||
200 | +poly('Black','',2,[ | ||
201 | + 985,310,985,365],1,1,1,412,0,0,0,0,0,0,0,'1',0,0, | ||
202 | + "0","",[ | ||
203 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
204 | +]). | ||
205 | +text('Black',970,386,1,0,1,15,24,413,19,5,0,0,0,0,-65534,15,24,0,0,"",0,0,0,0,405,'',[ | ||
206 | +minilines(15,24,0,0,0,0,0,[ | ||
207 | +mini_line(15,19,5,0,0,0,[ | ||
208 | +str_block(0,15,19,5,0,-3,0,0,0,[ | ||
209 | +str_seg('Black','Courier',0,138240,15,19,5,0,-3,0,0,0,0,0, | ||
210 | + "1")]) | ||
211 | +]) | ||
212 | +])]). | ||
213 | +text('Black',975,601,1,0,1,15,24,415,19,5,0,0,0,0,-65534,15,24,0,0,"",0,0,0,0,620,'',[ | ||
214 | +minilines(15,24,0,0,0,0,0,[ | ||
215 | +mini_line(15,19,5,0,0,0,[ | ||
216 | +str_block(0,15,19,5,0,-4,0,0,0,[ | ||
217 | +str_seg('Black','Courier',0,138240,15,19,5,0,-4,0,0,0,0,0, | ||
218 | + "2")]) | ||
219 | +]) | ||
220 | +])]). | ||
221 | +text('Black',940,741,1,0,1,90,24,417,19,5,0,0,0,0,-65534,90,24,0,0,"",0,0,0,0,760,'',[ | ||
222 | +minilines(90,24,0,0,0,0,0,[ | ||
223 | +mini_line(90,19,5,0,0,0,[ | ||
224 | +str_block(0,90,19,5,0,-3,0,0,0,[ | ||
225 | +str_seg('Black','Courier',0,138240,90,19,5,0,-3,0,0,0,0,0, | ||
226 | + "n_rows")]) | ||
227 | +]) | ||
228 | +])]). | ||
229 | +poly('Black','',2,[ | ||
230 | + 980,650,980,715],0,4,1,420,0,0,1,0,0,0,0,'4',0,0, | ||
231 | + "0","",[ | ||
232 | + 0,14,6,0,'14','6','0'],[0,14,6,0,'14','6','0'],[ | ||
233 | +]). | ||
234 | +poly('Black','',2,[ | ||
235 | + 475,555,475,185],1,1,1,421,0,0,0,0,0,0,0,'1',0,0, | ||
236 | + "0","",[ | ||
237 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
238 | +]). | ||
239 | +poly('Black','',2,[ | ||
240 | + 475,555,960,555],1,1,1,422,0,0,0,0,0,0,0,'1',0,0, | ||
241 | + "0","",[ | ||
242 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
243 | +]). | ||
244 | +text('Black',490,171,1,0,1,15,24,423,19,5,0,0,0,0,-65534,15,24,0,0,"",0,0,0,0,190,'',[ | ||
245 | +minilines(15,24,0,0,0,0,0,[ | ||
246 | +mini_line(15,19,5,0,0,0,[ | ||
247 | +str_block(0,15,19,5,0,-2,0,0,0,[ | ||
248 | +str_seg('Black','Courier',0,138240,15,19,5,0,-2,0,0,0,0,0, | ||
249 | + "y")]) | ||
250 | +]) | ||
251 | +])]). | ||
252 | +text('Black',940,521,1,0,1,15,24,425,19,5,0,0,0,0,-65534,15,24,0,0,"",0,0,0,0,540,'',[ | ||
253 | +minilines(15,24,0,0,0,0,0,[ | ||
254 | +mini_line(15,19,5,0,0,0,[ | ||
255 | +str_block(0,15,19,5,0,-1,0,0,0,[ | ||
256 | +str_seg('Black','Courier',0,138240,15,19,5,0,-1,0,0,0,0,0, | ||
257 | + "x")]) | ||
258 | +]) | ||
259 | +])]). | ||
260 | +poly('Black','',2,[ | ||
261 | + 55,280,915,280],3,1,1,431,0,0,0,0,0,0,0,'1',0,0, | ||
262 | + "0","",[ | ||
263 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
264 | +]). | ||
265 | +text('Black',320,246,1,0,1,240,24,432,19,5,0,0,0,0,-65534,240,24,0,0,"",0,0,0,0,265,'',[ | ||
266 | +minilines(240,24,0,0,0,0,0,[ | ||
267 | +mini_line(240,19,5,0,0,0,[ | ||
268 | +str_block(0,240,19,5,0,-1,0,0,0,[ | ||
269 | +str_seg('Black','Courier',0,138240,240,19,5,0,-1,0,0,0,0,0, | ||
270 | + "dielectric width")]) | ||
271 | +]) | ||
272 | +])]). | ||
273 | +poly('Black','',2,[ | ||
274 | + 30,360,30,785],3,1,1,436,0,0,0,0,0,0,0,'1',0,0, | ||
275 | + "0","",[ | ||
276 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
277 | +]). | ||
278 | +text('Black',-192,584,1,0,1,24,255,437,19,5,0,0,0,0,-65534,255,24,0,0,"",0,1,0,0,603,'',[ | ||
279 | + -192,584,-192,584,63,608,1.74623e-13,-1000,1000,1.74623e-13,193,107,-193,583,64,609],[ | ||
280 | +minilines(255,24,0,0,0,0,0,[ | ||
281 | +mini_line(255,19,5,0,0,0,[ | ||
282 | +str_block(0,255,19,5,0,-3,0,0,0,[ | ||
283 | +str_seg('Black','Courier',0,138240,255,19,5,0,-3,0,0,0,0,0, | ||
284 | + "dielectric height")]) | ||
285 | +]) | ||
286 | +])]). | ||
287 | +poly('#0000ff','',2,[ | ||
288 | + 475,555,430,405],1,1,1,455,0,0,0,0,0,0,0,'1',0,0, | ||
289 | + "0","",[ | ||
290 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
291 | +]). | ||
292 | +text('Black',280,501,1,0,1,180,24,458,19,5,2,0,0,0,-65534,180,24,0,0,"",0,0,0,0,520,'',[ | ||
293 | +minilines(180,24,0,0,0,0,0,[ | ||
294 | +mini_line(180,19,5,0,0,0,[ | ||
295 | +str_block(0,180,19,5,0,-3,0,0,0,[ | ||
296 | +str_seg('#0000ff','Courier',0,138240,180,19,5,0,-3,0,0,0,0,0, | ||
297 | + "row 1 offset")]) | ||
298 | +]) | ||
299 | +])]). | ||
300 | +poly('#0000ff','',2,[ | ||
301 | + 475,555,340,610],1,1,1,462,0,0,0,0,0,0,0,'1',0,0, | ||
302 | + "0","",[ | ||
303 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
304 | +]). | ||
305 | +text('Black',205,561,1,0,1,180,24,464,19,5,0,0,0,0,-65534,180,24,0,0,"",0,0,0,0,580,'',[ | ||
306 | +minilines(180,24,0,0,0,0,0,[ | ||
307 | +mini_line(180,19,5,0,0,0,[ | ||
308 | +str_block(0,180,19,5,0,-3,0,0,0,[ | ||
309 | +str_seg('#0000ff','Courier',0,138240,180,19,5,0,-3,0,0,0,0,0, | ||
310 | + "row 2 offset")]) | ||
311 | +]) | ||
312 | +])]). | ||
313 | +poly('#0000ff','',2,[ | ||
314 | + 475,555,475,745],1,1,1,466,0,0,0,0,0,0,0,'1',0,0, | ||
315 | + "0","",[ | ||
316 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
317 | +]). | ||
318 | +text('Black',490,676,1,0,1,180,24,467,19,5,0,0,0,0,-65534,180,24,0,0,"",0,0,0,0,695,'',[ | ||
319 | +minilines(180,24,0,0,0,0,0,[ | ||
320 | +mini_line(180,19,5,0,0,0,[ | ||
321 | +str_block(0,180,19,5,0,-3,0,0,0,[ | ||
322 | +str_seg('#0000ff','Courier',0,138240,180,19,5,0,-3,0,0,0,0,0, | ||
323 | + "row n offset")]) | ||
324 | +]) | ||
325 | +])]). | ||
326 | +text('Black',665,436,2,0,1,225,48,470,19,5,0,0,0,0,-65534,225,48,0,0,"",0,0,0,0,455,'',[ | ||
327 | +minilines(225,48,0,0,0,0,0,[ | ||
328 | +mini_line(225,19,5,0,0,0,[ | ||
329 | +str_block(0,225,19,5,0,-6,0,0,0,[ | ||
330 | +str_seg('#ff00ff','Courier',0,138240,225,19,5,0,-6,0,0,0,0,0, | ||
331 | + "Conductor No n,")]) | ||
332 | +]), | ||
333 | +mini_line(75,19,5,0,0,0,[ | ||
334 | +str_block(0,75,19,5,0,-3,0,0,0,[ | ||
335 | +str_seg('#ff00ff','Courier',0,138240,75,19,5,0,-3,0,0,0,0,0, | ||
336 | + "row 1")]) | ||
337 | +]) | ||
338 | +])]). | ||
339 | +poly('#ff00ff','',2,[ | ||
340 | + 765,435,770,405],1,1,1,559,0,2,0,0,0,0,0,'1',0,0, | ||
341 | + "0","",[ | ||
342 | + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ | ||
343 | +]). |
DOCUMENTATION/USER_GUIDE/Tex/creating_a_cable_bundle_model.tex
@@ -71,6 +71,10 @@ In addition to the data required to specify a cable bundle, additional flags may | @@ -71,6 +71,10 @@ In addition to the data required to specify a cable bundle, additional flags may | ||
71 | \item `verbose' output detailed summary of the software operation and calculation results.\\ | 71 | \item `verbose' output detailed summary of the software operation and calculation results.\\ |
72 | \item `use\_Laplace' use the numerical Laplace solver to calculate inductance and capacitance matrices for the external domain and any overshielded domains. By default, approximate analytic formulae are used. \\ | 72 | \item `use\_Laplace' use the numerical Laplace solver to calculate inductance and capacitance matrices for the external domain and any overshielded domains. By default, approximate analytic formulae are used. \\ |
73 | \item `plot\_mesh' output a vtk file which shows the mesh used in Finite Element Laplace calculations.\\ | 73 | \item `plot\_mesh' output a vtk file which shows the mesh used in Finite Element Laplace calculations.\\ |
74 | +\item `direct\_solver' Solve the Finite Element matrix equation using a direct solver i.e. by calculating the matrix inverse. \\ | ||
75 | +\item `iterative\_solver' Solve the Finite Element matrix equation using an iterative solver. This is much more efficient than the direct solver and is the default option \\ | ||
76 | +\item `inf\_gnd' Include the ground plane as a boundary condition on the y=0 boundary in the Finite Element Laplace solution for the bundle cross section. the outer boundary in this case is a semi-circle. \\ | ||
77 | +\item `finite\_gnd' Include the ground plane as a finite conductor in the Finite Element Laplace solution for the bundle cross section. In this case the ground plane is a finite rectangular conductor within a circular boundary. \\ | ||
74 | \end{enumerate} | 78 | \end{enumerate} |
75 | 79 | ||
76 | If the Laplace solver is used then the mesh generation is be controlled by the parameters | 80 | If the Laplace solver is used then the mesh generation is be controlled by the parameters |
@@ -86,10 +90,12 @@ If the Laplace solver is used then the mesh generation is be controlled by the p | @@ -86,10 +90,12 @@ If the Laplace solver is used then the mesh generation is be controlled by the p | ||
86 | The edge length of elements on a cylindrical conductor of radius r is | 90 | The edge length of elements on a cylindrical conductor of radius r is |
87 | $\frac{r}{Laplace\_surface\_mesh\_constant}$. The default value is 3. \\ | 91 | $\frac{r}{Laplace\_surface\_mesh\_constant}$. The default value is 3. \\ |
88 | 92 | ||
93 | +\item `Max\_mesh\_edge\_length' This (real) parameter determines the maximum finite element mesh edge length for the rectangular conductors of flex cables. It may be used to force an increase in mesh density in flex cables. \\ | ||
94 | + | ||
89 | \end{enumerate} | 95 | \end{enumerate} |
90 | 96 | ||
91 | The default parameters are a compromise between accuracy and computation time for the Laplace solution. | 97 | The default parameters are a compromise between accuracy and computation time for the Laplace solution. |
92 | -The default values may be overridden by the user by appending the following to the end of the \textbf{.bundle\_spec file}: | 98 | +The default values may be overridden by the user by appending the following to the end of the \textbf{.bundle\_spec} file: |
93 | 99 | ||
94 | \begin{verbatim} | 100 | \begin{verbatim} |
95 | Laplace_boundary_constant | 101 | Laplace_boundary_constant |
@@ -98,6 +104,14 @@ Laplace_surface_mesh_constant | @@ -98,6 +104,14 @@ Laplace_surface_mesh_constant | ||
98 | 5 | 104 | 5 |
99 | \end{verbatim} | 105 | \end{verbatim} |
100 | 106 | ||
107 | +If the iterative solver is used to solve the Finite Element matrix equations then the tolerance for the iterative solution may be set using the parameter $cg\_tol$. The default value is $10^{-12}$. The parameter may be set (in this example to 1E-14) by including the following lines int the \textbf{.bundle\_spec} file: | ||
108 | + | ||
109 | +\begin{verbatim} | ||
110 | +cg_tol | ||
111 | +1E-14 | ||
112 | +\end{verbatim} | ||
113 | + | ||
114 | + | ||
101 | A ground plane may be included in the bundle as shown in figure \ref{fig_ground_plane_specification} | 115 | A ground plane may be included in the bundle as shown in figure \ref{fig_ground_plane_specification} |
102 | 116 | ||
103 | \begin{figure}[h] | 117 | \begin{figure}[h] |
DOCUMENTATION/USER_GUIDE/Tex/creating_a_cable_model.tex
@@ -214,6 +214,8 @@ The flags which may be applied in a \textbf{cable\_spec} file are as follows: | @@ -214,6 +214,8 @@ The flags which may be applied in a \textbf{cable\_spec} file are as follows: | ||
214 | \item `use\_Laplace' use the numerical Laplace solver to calculate inductance and capacitance matrices for the internal domains. By default, approximate analytic formulae are used. \\ | 214 | \item `use\_Laplace' use the numerical Laplace solver to calculate inductance and capacitance matrices for the internal domains. By default, approximate analytic formulae are used. \\ |
215 | \item `no\_Laplace' use the (approximate) analytic formulae to calculate inductance and capacitance matrices for the internal domains. \\ | 215 | \item `no\_Laplace' use the (approximate) analytic formulae to calculate inductance and capacitance matrices for the internal domains. \\ |
216 | \item `plot\_mesh' output a vtk file which shows the mesh used in Finite Element Laplace calculations.\\ | 216 | \item `plot\_mesh' output a vtk file which shows the mesh used in Finite Element Laplace calculations.\\ |
217 | +\item `direct\_solver' Solve the Finite Element matrix equation using a direct solver i.e. by calculating the matrix inverse. \\ | ||
218 | +\item `iterative\_solver' Solve the Finite Element matrix equation using an iterative solver. This is much more efficient than the direct solver and is the default option \\ | ||
217 | \end{enumerate} | 219 | \end{enumerate} |
218 | 220 | ||
219 | If the Laplace solver is used then the mesh generation is controlled by the parameter | 221 | If the Laplace solver is used then the mesh generation is controlled by the parameter |
@@ -229,6 +231,13 @@ Laplace_surface_mesh_constant | @@ -229,6 +231,13 @@ Laplace_surface_mesh_constant | ||
229 | 5 | 231 | 5 |
230 | \end{verbatim} | 232 | \end{verbatim} |
231 | 233 | ||
234 | +If the iterative solver is used to solve the Finite Element matrix equations then the tolerance for the iterative solution may be set using the parameter $cg\_tol$. The default value is $10^{-12}$. The parameter may be set (in this example to 1E-14) by including the following lines int the \textbf{.cable\_spec} file: | ||
235 | + | ||
236 | +\begin{verbatim} | ||
237 | +cg_tol | ||
238 | +1E-14 | ||
239 | +\end{verbatim} | ||
240 | + | ||
232 | \subsection{Cable models available} \label{available_cable_models} | 241 | \subsection{Cable models available} \label{available_cable_models} |
233 | 242 | ||
234 | The available cable models are described below. For each cable type a figure is provided which shows the cable cross section and the conductor numbering used for the cable. The parameters required to specify a cable are outlined and an example \textbf{.cable\_spec} file is provided. | 243 | The available cable models are described below. For each cable type a figure is provided which shows the cable cross section and the conductor numbering used for the cable. The parameters required to specify a cable are outlined and an example \textbf{.cable\_spec} file is provided. |
@@ -809,29 +818,41 @@ Overshield | @@ -809,29 +818,41 @@ Overshield | ||
809 | 818 | ||
810 | \subsubsection{Flex cable} \label{flex_cable} | 819 | \subsubsection{Flex cable} \label{flex_cable} |
811 | 820 | ||
812 | -Figure \ref{fig:flex_cable} shows the cross section of the flex cable model. | ||
813 | -A description of the model parameters is described in table \ref{table_flex_cable} followed by an example. The flex cable differs from most other cable models in that the number of conductors is a parameter of the model. The conductors are numbered from left to right. | 821 | +Version 4.0.0 of the SACAMOS software introduces a new flex cable model in which more than one row of conductors can be included within the rectangular dielelctric region. This allows flex cables with multiple layers as well as cables with different conductor dimensions and spacings to be simulated. |
822 | +Figure \ref{fig:flex_cable} shows the cross section of the new flex cable model. | ||
823 | +A description of the model parameters is described in table \ref{table_flex_cable} followed by an example. The flex cable differs from most other cable models in that the number of conductors is a parameter of the model. The conductors are numbered from left to right in each row. | ||
814 | 824 | ||
815 | \begin{figure}[h] | 825 | \begin{figure}[h] |
816 | \centering | 826 | \centering |
817 | -\includegraphics[scale=0.5]{./Imgs/flex_cable.eps} | 827 | +\includegraphics[scale=0.65]{./Imgs/ML_flex_cable.eps} |
818 | \caption{flex cable} | 828 | \caption{flex cable} |
819 | \label{fig:flex_cable} | 829 | \label{fig:flex_cable} |
820 | \end{figure} | 830 | \end{figure} |
821 | 831 | ||
832 | + | ||
822 | \begin{table}[h] | 833 | \begin{table}[h] |
823 | \begin{center} | 834 | \begin{center} |
824 | \begin{tabular}{ | p{3cm} | p{3cm} | p{6cm} |} | 835 | \begin{tabular}{ | p{3cm} | p{3cm} | p{6cm} |} |
825 | \hline | 836 | \hline |
826 | example value & unit & Comment \\ \hline | 837 | example value & unit & Comment \\ \hline |
827 | 8 & integer & Number of conductors - can be any number of conductors in a flex cable model \\ \hline | 838 | 8 & integer & Number of conductors - can be any number of conductors in a flex cable model \\ \hline |
828 | -6 & integer & Number of parameters, always 6 for flex cables \\ \hline | ||
829 | -1.0e-3 & metre & parameter 1: conductor width (x) \\ \hline | ||
830 | -0.2e-3 & metre & parameter 2: conductor height (y) \\ \hline | ||
831 | -0.6e-3 & metre & parameter 3: conductor separation (x)\\ \hline | ||
832 | -1.0e-3 & metre & parameter 4: dielectric offset in x \\ \hline | ||
833 | -0.2e-3 & metre & parameter 5: dielectric offset in y \\ \hline | ||
834 | -5E7 & Siemens/metre & parameter 6: conductivity \\ \hline | 839 | +6 & integer & Number of parameters = (number of rows of conductors)*6+4 \\ \hline |
840 | +6.0e-3 & metre & parameter 1: dielectric width (x) \\ \hline | ||
841 | +1.2e-3 & metre & parameter 2: dielectric height (y) \\ \hline | ||
842 | +2 & integer & parameter 3: number of rows of conductors\\ \hline | ||
843 | +1.0e-3 & metre & parameter 4: row 1 centre offset x \\ \hline | ||
844 | +0.4e-3 & metre & parameter 5: row 1 centre offset y \\ \hline | ||
845 | +0.6e-3 & metre & parameter 6: row 1 conductor width (x dimension) \\ \hline | ||
846 | +1.0e-4 & metre & parameter 7: row 1 conductor height (y dimension) \\ \hline | ||
847 | +0.2e-3 & metre & parameter 8: row 1 conductor separation \\ \hline | ||
848 | +3 & metre & parameter 9: row 1 number of conductors \\ \hline | ||
849 | +1.0e-3 & metre & parameter 10: row 2 centre offset x \\ \hline | ||
850 | +-0.4e-3 & metre & parameter 11: row 2 centre offset y \\ \hline | ||
851 | +0.6e-3 & metre & parameter 12: row 2 conductor width (x dimension) \\ \hline | ||
852 | +1.0e-4 & metre & parameter 13: row 2 conductor height (y dimension) \\ \hline | ||
853 | +0.2e-3 & metre & parameter 14: row 2 conductor separation \\ \hline | ||
854 | +3 & metre & parameter 15: row 2 number of conductors \\ \hline | ||
855 | +5E7 & Siemens/metre & parameter 16: conductivity \\ \hline | ||
835 | 1 & integer & number of frequency dependent parameters \\ \hline | 856 | 1 & integer & number of frequency dependent parameters \\ \hline |
836 | $\epsilon\left(j\omega \right)$ & rational function coefficients & Frequency dependent dielectric relative permittivity model\\ \hline | 857 | $\epsilon\left(j\omega \right)$ & rational function coefficients & Frequency dependent dielectric relative permittivity model\\ \hline |
837 | \end{tabular} | 858 | \end{tabular} |
@@ -848,24 +869,30 @@ $\epsilon\left(j\omega \right)$ & rational function coefficients & Frequency dep | @@ -848,24 +869,30 @@ $\epsilon\left(j\omega \right)$ & rational function coefficients & Frequency dep | ||
848 | \begin{verbatim} | 869 | \begin{verbatim} |
849 | #MOD_cable_lib_dir | 870 | #MOD_cable_lib_dir |
850 | . | 871 | . |
851 | -Flex_cable | 872 | +flex_cable |
852 | 3 # number of conductors | 873 | 3 # number of conductors |
853 | -6 # number of parameters | ||
854 | -1.0e-3 # parameter 1: conductor width (x dimension) | ||
855 | -0.25e-3 # parameter 2: conductor height (y dimension) | ||
856 | -0.5e-3 # parameter 3: conductor separation (x dimension) | ||
857 | -0.2e-3 # parameter 4: dielectric offset x | ||
858 | -0.1e-3 # parameter 5: dielectric offset y | ||
859 | -5E7 # parameter 6: conductivity | 874 | +10 # number of parameters |
875 | +5.0e-3 # parameter 1: dielectric width (x dimension) | ||
876 | +1.25e-3 # parameter 2: dielectric height (y dimension) | ||
877 | +1 # parameter 3: number of rows of conductors | ||
878 | +0.0e-3 # parameter 4: row 1 centre offset x | ||
879 | +0.0e-3 # parameter 5: row 1 centre offset y | ||
880 | +1.0e-3 # parameter 6: row 1 conductor width (x dimension) | ||
881 | +0.25e-3 # parameter 7: row 1 conductor height (y dimension) | ||
882 | +0.5e-3 # parameter 8: row 1 conductor separation | ||
883 | +3 # parameter 9: row 1 number of conductors | ||
884 | +0.0 # parameter 10: conductivity | ||
860 | 1 # number of frequency dependent parameters | 885 | 1 # number of frequency dependent parameters |
861 | # dielectric relative permittivity model follows | 886 | # dielectric relative permittivity model follows |
862 | - 1E9 # w normalisation constant | ||
863 | - 1 # a order, a coefficients follow below: | ||
864 | - 2.2 2.0 | ||
865 | - 1 # b order, b coefficients follow below: | ||
866 | - 1.0 1.0 | 887 | + 1E9 # w normalisation constant |
888 | + 0 # a order, a coefficients follow below: | ||
889 | + 2.2 | ||
890 | + 0 # b order, b coefficients follow below: | ||
891 | + 1.0 | ||
867 | \end{verbatim} | 892 | \end{verbatim} |
868 | 893 | ||
894 | +When creating cable bundle models including flex cables the mesh control parameter $Max\_mesh\_edge\_length$ may be used to give an additional degree of control over the Finite Element mash. The number of mesh elements in the y direction on conductors (height) is set by the $Laplace\_surface\_mesh\_constant$ parameter (although the minimum number is two). | ||
895 | + | ||
869 | \clearpage | 896 | \clearpage |
870 | 897 | ||
871 | \subsubsection{D connector} \label{Dconnector} | 898 | \subsubsection{D connector} \label{Dconnector} |
DOCUMENTATION/USER_GUIDE/Tex/introduction.tex
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | 2 | ||
3 | \section{Software overview} | 3 | \section{Software overview} |
4 | 4 | ||
5 | -The purpose of the SACAMOS software is to enable the creation of Spice cable models from the description/ characterisation of cables and bundles of cables together with information required to specify a particular modelling scenario (for example the specification of incident field excitation or transfer impedance coupling model). | 5 | +The purpose of the SACAMOS software is to enable the creation of Spice cable models from the description/ characterisation of cables and bundles of cables together with information required to specify a particular modelling scenario (for example the specification of incident field excitation or transfer impedance coupling model). This User Guide relates to version 4.0.0 of the SACAMOS software. |
6 | 6 | ||
7 | A cable bundle may consist of multiple individual cables usually with the addition of a ground plane. This is illustrated in figure\ref{fig_cable_bundle} The cables may consist of shielded and/ or unshielded conductors. | 7 | A cable bundle may consist of multiple individual cables usually with the addition of a ground plane. This is illustrated in figure\ref{fig_cable_bundle} The cables may consist of shielded and/ or unshielded conductors. |
8 | 8 |
DOCUMENTATION/USER_GUIDE/Tex/preamble.tex
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | \newcommand{\DocumentTitle}{User Guide} | 3 | \newcommand{\DocumentTitle}{User Guide} |
4 | \newcommand{\DocumentSubTitle}{SACAMOS: State of the Art CAble MOdels for Spice} | 4 | \newcommand{\DocumentSubTitle}{SACAMOS: State of the Art CAble MOdels for Spice} |
5 | \newcommand{\DocumentSubSubTitle}{Open Souce Cable Models for EMI Simulations} | 5 | \newcommand{\DocumentSubSubTitle}{Open Souce Cable Models for EMI Simulations} |
6 | -\newcommand{\DocumentVersion}{1.1} | 6 | +\newcommand{\DocumentVersion}{1.2} |
7 | \newcommand{\DocumentAuthors}{Christopher Smartt\footnote{\UONname, contact: Chris.Smartt@nottingham.ac.uk}, David Thomas$^1$, Steve Greedy$^1$, \\ Jaco Verpoorte\footnote{\NLRname, contact: Jaco.Verpoorte@nlr.nl}, Jesper Lansink Rotgerink$^2$ and Harmen Schippers$^2$} | 7 | \newcommand{\DocumentAuthors}{Christopher Smartt\footnote{\UONname, contact: Chris.Smartt@nottingham.ac.uk}, David Thomas$^1$, Steve Greedy$^1$, \\ Jaco Verpoorte\footnote{\NLRname, contact: Jaco.Verpoorte@nlr.nl}, Jesper Lansink Rotgerink$^2$ and Harmen Schippers$^2$} |
8 | \newcommand{\License}{This document is subject to the GNU Free Documentation License (version 2.0).} | 8 | \newcommand{\License}{This document is subject to the GNU Free Documentation License (version 2.0).} |
9 | \newcommand{\Reference}{ESA 40000112765/14/NL/HK.} | 9 | \newcommand{\Reference}{ESA 40000112765/14/NL/HK.} |
SRC/GENERAL_MODULES/constants.F90
@@ -106,6 +106,8 @@ IMPLICIT NONE | @@ -106,6 +106,8 @@ IMPLICIT NONE | ||
106 | ! if Laplace_surface_mesh_constant=5 we have just over 30 elements on the circumference | 106 | ! if Laplace_surface_mesh_constant=5 we have just over 30 elements on the circumference |
107 | 107 | ||
108 | real(dp) :: max_mesh_edge_length=1d30 ! the maximum mesh edge length on internal boundaries | 108 | real(dp) :: max_mesh_edge_length=1d30 ! the maximum mesh edge length on internal boundaries |
109 | + | ||
110 | + real(dp) :: cg_tol=1d-12 ! tolerance for conjugate gradient solution of Finite element Laplace matrix equation | ||
109 | 111 | ||
110 | real(dp) :: Twisted_pair_equivalent_radius=1.5d0 ! The twisted pair commmon mode interaction is calculated by treating the | 112 | real(dp) :: Twisted_pair_equivalent_radius=1.5d0 ! The twisted pair commmon mode interaction is calculated by treating the |
111 | ! common mode as being carried on an 'equivalent cylindrical conductor' | 113 | ! common mode as being carried on an 'equivalent cylindrical conductor' |
SRC/PUL_PARAMETER_CALCULATION/CG_solve.F90
@@ -25,9 +25,9 @@ | @@ -25,9 +25,9 @@ | ||
25 | ! | 25 | ! |
26 | ! The University of Nottingham can be contacted at: ggiemr@nottingham.ac.uk | 26 | ! The University of Nottingham can be contacted at: ggiemr@nottingham.ac.uk |
27 | ! | 27 | ! |
28 | -! SUBROUTINE solve_real_symm(n, b, x,tol) | 28 | +! SUBROUTINE solve_real_symm(n, b, x,tol,itmax) |
29 | ! SUBROUTINE dot ( n, x, y ,res) | 29 | ! SUBROUTINE dot ( n, x, y ,res) |
30 | -! SUBROUTINE solve_complex_symm(n, b, x,tol) | 30 | +! SUBROUTINE solve_complex_symm(n, b, x,tolitmax) |
31 | ! SUBROUTINE zdot ( n, x, y ,res) | 31 | ! SUBROUTINE zdot ( n, x, y ,res) |
32 | ! | 32 | ! |
33 | ! NAME | 33 | ! NAME |
@@ -44,7 +44,7 @@ | @@ -44,7 +44,7 @@ | ||
44 | ! | 44 | ! |
45 | ! COMMENTS | 45 | ! COMMENTS |
46 | ! | 46 | ! |
47 | -SUBROUTINE solve_real_symm(n, b, x,tol) | 47 | +SUBROUTINE solve_real_symm(n, b, x,tol,itmax) |
48 | 48 | ||
49 | USE type_specifications | 49 | USE type_specifications |
50 | 50 | ||
@@ -57,6 +57,7 @@ integer,intent(IN) :: n | @@ -57,6 +57,7 @@ integer,intent(IN) :: n | ||
57 | real(dp),intent(IN) :: b(n) | 57 | real(dp),intent(IN) :: b(n) |
58 | real(dp),intent(INOUT) :: x(n) ! x contains the initial guess for x | 58 | real(dp),intent(INOUT) :: x(n) ! x contains the initial guess for x |
59 | real(dp),intent(IN) :: tol | 59 | real(dp),intent(IN) :: tol |
60 | +integer,intent(IN) :: itmax | ||
60 | 61 | ||
61 | ! local variables | 62 | ! local variables |
62 | 63 | ||
@@ -115,7 +116,7 @@ minres=.TRUE. | @@ -115,7 +116,7 @@ minres=.TRUE. | ||
115 | pkb=rkb | 116 | pkb=rkb |
116 | 117 | ||
117 | ! iteration loop | 118 | ! iteration loop |
118 | - do itloop=1,2*n | 119 | + do itloop=1,itmax |
119 | 120 | ||
120 | ! calculate ak=(rkb.rk)/(pkb.A.pk) | 121 | ! calculate ak=(rkb.rk)/(pkb.A.pk) |
121 | 122 | ||
@@ -167,7 +168,11 @@ minres=.TRUE. | @@ -167,7 +168,11 @@ minres=.TRUE. | ||
167 | 168 | ||
168 | end do ! next iteration | 169 | end do ! next iteration |
169 | 170 | ||
170 | -! finish | 171 | +! We only get here if the iterative solution has not converged after itmax iterations |
172 | + | ||
173 | + run_status='ERROR in solve_real_symm: maximum number of iterations exceeded' | ||
174 | + CALL write_program_status() | ||
175 | + STOP 1 | ||
171 | 176 | ||
172 | RETURN | 177 | RETURN |
173 | 178 | ||
@@ -219,7 +224,7 @@ END SUBROUTINE dot | @@ -219,7 +224,7 @@ END SUBROUTINE dot | ||
219 | ! | 224 | ! |
220 | ! COMMENTS | 225 | ! COMMENTS |
221 | ! | 226 | ! |
222 | - SUBROUTINE solve_complex_symm(n, b, x,tol) | 227 | + SUBROUTINE solve_complex_symm(n, b, x,tol,itmax) |
223 | 228 | ||
224 | USE type_specifications | 229 | USE type_specifications |
225 | 230 | ||
@@ -232,6 +237,7 @@ integer,intent(IN) :: n | @@ -232,6 +237,7 @@ integer,intent(IN) :: n | ||
232 | complex(dp),intent(IN) :: b(n) | 237 | complex(dp),intent(IN) :: b(n) |
233 | complex(dp),intent(INOUT) :: x(n) ! x contains the initial guess for x | 238 | complex(dp),intent(INOUT) :: x(n) ! x contains the initial guess for x |
234 | real(dp),intent(IN) :: tol | 239 | real(dp),intent(IN) :: tol |
240 | +integer,intent(IN) :: itmax | ||
235 | 241 | ||
236 | ! local variables | 242 | ! local variables |
237 | 243 | ||
@@ -291,7 +297,7 @@ minres=.TRUE. | @@ -291,7 +297,7 @@ minres=.TRUE. | ||
291 | pkb=rkb | 297 | pkb=rkb |
292 | 298 | ||
293 | ! iteration loop | 299 | ! iteration loop |
294 | - do itloop=1,2*n | 300 | + do itloop=1,itmax |
295 | 301 | ||
296 | ! calculate ak=(rkb.rk)/(pkb.A.pk) | 302 | ! calculate ak=(rkb.rk)/(pkb.A.pk) |
297 | 303 | ||
@@ -343,7 +349,11 @@ minres=.TRUE. | @@ -343,7 +349,11 @@ minres=.TRUE. | ||
343 | 349 | ||
344 | end do ! next iteration | 350 | end do ! next iteration |
345 | 351 | ||
346 | -! finish | 352 | +! We only get here if the iterative solution has not converged after itmax iterations |
353 | + | ||
354 | + run_status='ERROR in solve_complex_symm: maximum number of iterations exceeded' | ||
355 | + CALL write_program_status() | ||
356 | + STOP 1 | ||
347 | 357 | ||
348 | RETURN | 358 | RETURN |
349 | 359 |
SRC/PUL_PARAMETER_CALCULATION/Laplace.F90
@@ -284,23 +284,10 @@ integer :: ierr ! error code for matrix inversion | @@ -284,23 +284,10 @@ integer :: ierr ! error code for matrix inversion | ||
284 | 284 | ||
285 | ! variables for iterative solver | 285 | ! variables for iterative solver |
286 | 286 | ||
287 | -logical checkA | ||
288 | integer itnlim | 287 | integer itnlim |
289 | real(dp) rtol | 288 | real(dp) rtol |
290 | -integer nout | ||
291 | -logical goodb | ||
292 | -logical precon | ||
293 | -real(dp) shift | ||
294 | - | ||
295 | -integer istop, itn | ||
296 | -real(dp) anorm, acond, rnorm, ynorm | ||
297 | 289 | ||
298 | -real(dp),allocatable :: r1(:) | ||
299 | -real(dp),allocatable :: r2(:) | ||
300 | -real(dp),allocatable :: vt(:) | ||
301 | -real(dp),allocatable :: wt(:) | ||
302 | -real(dp),allocatable :: yt(:) | ||
303 | -real(dp),allocatable :: bt(:) | 290 | +real(dp),allocatable :: bt(:) ! real vectors for conjugate gradient solution for lossless problems |
304 | real(dp),allocatable :: xt(:) | 291 | real(dp),allocatable :: xt(:) |
305 | 292 | ||
306 | logical :: lossy_dielectric ! flag to indicate lossy dielectric i.e. we must solve a complex problem | 293 | logical :: lossy_dielectric ! flag to indicate lossy dielectric i.e. we must solve a complex problem |
@@ -1095,19 +1082,9 @@ if (direct_solver) then | @@ -1095,19 +1082,9 @@ if (direct_solver) then | ||
1095 | 1082 | ||
1096 | else if(.NOT.lossy_dielectric) then | 1083 | else if(.NOT.lossy_dielectric) then |
1097 | 1084 | ||
1098 | - checkA = .true. | ||
1099 | - itnlim = N_unknown * 2 | ||
1100 | - rtol = 1.0D-12 | ||
1101 | - nout=6 | ||
1102 | - goodb=.FALSE. | ||
1103 | - precon = .FALSE. | ||
1104 | - shift=0d0 | 1085 | + itnlim = N_unknown * 2 ! maximum number of iterations set to twice the number of unknowns |
1086 | + rtol = cg_tol | ||
1105 | 1087 | ||
1106 | - allocate(r1(1:N_unknown)) | ||
1107 | - allocate(r2(1:N_unknown)) | ||
1108 | - allocate(vt(1:N_unknown)) | ||
1109 | - allocate(wt(1:N_unknown)) | ||
1110 | - allocate(yt(1:N_unknown)) | ||
1111 | allocate(xt(1:N_unknown)) | 1088 | allocate(xt(1:N_unknown)) |
1112 | allocate(bt(1:N_unknown)) | 1089 | allocate(bt(1:N_unknown)) |
1113 | 1090 | ||
@@ -1122,32 +1099,21 @@ else if(.NOT.lossy_dielectric) then | @@ -1122,32 +1099,21 @@ else if(.NOT.lossy_dielectric) then | ||
1122 | b_tmp(1:N_unknown)=-matmul(K_rhs,v_tmp) | 1099 | b_tmp(1:N_unknown)=-matmul(K_rhs,v_tmp) |
1123 | bt(1:N_unknown)=b_tmp(1:N_unknown) | 1100 | bt(1:N_unknown)=b_tmp(1:N_unknown) |
1124 | 1101 | ||
1125 | -! UoN conjugate gradient solution | ||
1126 | - CALL solve_real_symm(N_unknown, bt, xt, rtol) | 1102 | +! conjugate gradient solution |
1103 | + CALL solve_real_symm(N_unknown, bt, xt, rtol, itnlim) | ||
1127 | 1104 | ||
1128 | x(j1,j2,1:N_unknown)=xt(1:N_unknown) | 1105 | x(j1,j2,1:N_unknown)=xt(1:N_unknown) |
1129 | 1106 | ||
1130 | end do | 1107 | end do |
1131 | end do | 1108 | end do |
1132 | 1109 | ||
1133 | - deallocate(r1) | ||
1134 | - deallocate(r2) | ||
1135 | - deallocate(vt) | ||
1136 | - deallocate(wt) | ||
1137 | - deallocate(yt) | ||
1138 | deallocate(xt) | 1110 | deallocate(xt) |
1139 | deallocate(bt) | 1111 | deallocate(bt) |
1140 | 1112 | ||
1141 | else if (lossy_dielectric) then | 1113 | else if (lossy_dielectric) then |
1142 | 1114 | ||
1143 | - itnlim=4*N_unknown | ||
1144 | - nout=6 | ||
1145 | - wantse=.FALSE. | ||
1146 | - atol=1D-8 | ||
1147 | - btol=1d-8 | ||
1148 | - conlim=1d10 | ||
1149 | - damp=0d0 | ||
1150 | - allocate(se(1:N_unknown)) | 1115 | + itnlim = N_unknown * 2 ! maximum number of iterations set to twice the number of unknowns |
1116 | + rtol = cg_tol | ||
1151 | 1117 | ||
1152 | ! Iterative solution | 1118 | ! Iterative solution |
1153 | do j1=1,jmax-1 | 1119 | do j1=1,jmax-1 |
@@ -1155,20 +1121,15 @@ else if (lossy_dielectric) then | @@ -1155,20 +1121,15 @@ else if (lossy_dielectric) then | ||
1155 | 1121 | ||
1156 | v_tmp(1:n_known)=V(j1,j2,1:n_known) | 1122 | v_tmp(1:n_known)=V(j1,j2,1:n_known) |
1157 | b_tmp(1:N_unknown)=-matmul(K_rhs,v_tmp) | 1123 | b_tmp(1:N_unknown)=-matmul(K_rhs,v_tmp) |
1158 | - n=N_unknown | ||
1159 | - m=N_unknown | ||
1160 | - | ||
1161 | -! UoN conjugate gradient solution | ||
1162 | - rtol = 1.0D-12 | ||
1163 | - CALL solve_complex_symm(N_unknown, b_tmp, x_tmp, rtol) | 1124 | + |
1125 | +! conjugate gradient solution | ||
1126 | + CALL solve_complex_symm(N_unknown, b_tmp, x_tmp, rtol,itnlim ) | ||
1164 | 1127 | ||
1165 | x(j1,j2,1:N_unknown)=x_tmp(1:N_unknown) | 1128 | x(j1,j2,1:N_unknown)=x_tmp(1:N_unknown) |
1166 | 1129 | ||
1167 | end do | 1130 | end do |
1168 | end do | 1131 | end do |
1169 | - | ||
1170 | - deallocate(se) | ||
1171 | - | 1132 | + |
1172 | end if | 1133 | end if |
1173 | 1134 | ||
1174 | ! STAGE 12 Determine the voltage phi in each node of the mesh | 1135 | ! STAGE 12 Determine the voltage phi in each node of the mesh |
SRC/cable_bundle_model_builder.F90
@@ -347,19 +347,23 @@ integer :: dim | @@ -347,19 +347,23 @@ integer :: dim | ||
347 | 347 | ||
348 | ! redefine mesh generation parameters if required | 348 | ! redefine mesh generation parameters if required |
349 | if (INDEX(line,'laplace_boundary_constant').NE.0) then | 349 | if (INDEX(line,'laplace_boundary_constant').NE.0) then |
350 | - read(bundle_spec_file_unit,*,END=100,ERR=100)Laplace_boundary_constant | 350 | + read(bundle_spec_file_unit,*,END=9000,ERR=9000)Laplace_boundary_constant |
351 | end if | 351 | end if |
352 | 352 | ||
353 | if (INDEX(line,'laplace_surface_mesh_constant').NE.0) then | 353 | if (INDEX(line,'laplace_surface_mesh_constant').NE.0) then |
354 | - read(bundle_spec_file_unit,*,END=100,ERR=100)Laplace_surface_mesh_constant | 354 | + read(bundle_spec_file_unit,*,END=9000,ERR=9000)Laplace_surface_mesh_constant |
355 | end if | 355 | end if |
356 | 356 | ||
357 | if (INDEX(line,'twisted_pair_equivalent_radius').NE.0) then | 357 | if (INDEX(line,'twisted_pair_equivalent_radius').NE.0) then |
358 | - read(bundle_spec_file_unit,*,END=100,ERR=100)Twisted_pair_equivalent_radius | 358 | + read(bundle_spec_file_unit,*,END=9000,ERR=9000)Twisted_pair_equivalent_radius |
359 | end if | 359 | end if |
360 | 360 | ||
361 | if (INDEX(line,'max_mesh_edge_length').NE.0) then | 361 | if (INDEX(line,'max_mesh_edge_length').NE.0) then |
362 | - read(bundle_spec_file_unit,*,END=100,ERR=100)max_mesh_edge_length | 362 | + read(bundle_spec_file_unit,*,END=9000,ERR=9000)max_mesh_edge_length |
363 | + end if | ||
364 | + | ||
365 | + if (INDEX(line,'cg_tol').NE.0) then | ||
366 | + read(bundle_spec_file_unit,*,END=9000,ERR=9000)cg_tol | ||
363 | end if | 367 | end if |
364 | 368 | ||
365 | end do ! continue until all flags are read - indicated by an end of file. | 369 | end do ! continue until all flags are read - indicated by an end of file. |
@@ -485,7 +489,12 @@ integer :: dim | @@ -485,7 +489,12 @@ integer :: dim | ||
485 | 489 | ||
486 | run_status='Finished_Correctly' | 490 | run_status='Finished_Correctly' |
487 | CALL write_program_status() | 491 | CALL write_program_status() |
488 | - | 492 | + |
493 | + STOP | ||
494 | + | ||
495 | +9000 run_status='ERROR reading control parameter from the bundle_spec file' | ||
496 | + CALL write_program_status() | ||
497 | + STOP 1 | ||
489 | 498 | ||
490 | END PROGRAM cable_bundle_model_builder | 499 | END PROGRAM cable_bundle_model_builder |
491 | 500 |
SRC/cable_model_builder.F90
@@ -430,19 +430,23 @@ integer :: i | @@ -430,19 +430,23 @@ integer :: i | ||
430 | 430 | ||
431 | ! redefine mesh generation parameters if required | 431 | ! redefine mesh generation parameters if required |
432 | if (INDEX(line,'laplace_boundary_constant').NE.0) then | 432 | if (INDEX(line,'laplace_boundary_constant').NE.0) then |
433 | - read(cable_spec_file_unit,*,END=100,ERR=100)Laplace_boundary_constant | 433 | + read(cable_spec_file_unit,*,END=9000,ERR=9000)Laplace_boundary_constant |
434 | end if | 434 | end if |
435 | 435 | ||
436 | if (INDEX(line,'laplace_surface_mesh_constant').NE.0) then | 436 | if (INDEX(line,'laplace_surface_mesh_constant').NE.0) then |
437 | - read(cable_spec_file_unit,*,END=100,ERR=100)Laplace_surface_mesh_constant | 437 | + read(cable_spec_file_unit,*,END=9000,ERR=9000)Laplace_surface_mesh_constant |
438 | end if | 438 | end if |
439 | 439 | ||
440 | if (INDEX(line,'twisted_pair_equivalent_radius').NE.0) then | 440 | if (INDEX(line,'twisted_pair_equivalent_radius').NE.0) then |
441 | - read(cable_spec_file_unit,*,END=100,ERR=100)Twisted_pair_equivalent_radius | 441 | + read(cable_spec_file_unit,*,END=9000,ERR=9000)Twisted_pair_equivalent_radius |
442 | end if | 442 | end if |
443 | 443 | ||
444 | if (INDEX(line,'max_mesh_edge_length').NE.0) then | 444 | if (INDEX(line,'max_mesh_edge_length').NE.0) then |
445 | - read(cable_spec_file_unit,*,END=100,ERR=100)max_mesh_edge_length | 445 | + read(cable_spec_file_unit,*,END=9000,ERR=9000)max_mesh_edge_length |
446 | + end if | ||
447 | + | ||
448 | + if (INDEX(line,'cg_tol').NE.0) then | ||
449 | + read(cable_spec_file_unit,*,END=9000,ERR=9000)cg_tol | ||
446 | end if | 450 | end if |
447 | 451 | ||
448 | end do ! continue until all flags are read - indicated by an end of file. | 452 | end do ! continue until all flags are read - indicated by an end of file. |
@@ -532,6 +536,12 @@ integer :: i | @@ -532,6 +536,12 @@ integer :: i | ||
532 | run_status='Finished_Correctly' | 536 | run_status='Finished_Correctly' |
533 | CALL write_program_status() | 537 | CALL write_program_status() |
534 | 538 | ||
539 | + STOP | ||
540 | + | ||
541 | +9000 run_status='ERROR reading control parameter from the cable_spec file' | ||
542 | + CALL write_program_status() | ||
543 | + STOP 1 | ||
544 | + | ||
535 | END PROGRAM cable_model_builder | 545 | END PROGRAM cable_model_builder |
536 | 546 | ||
537 | 547 |