Compare commits

..

76 commits
wip ... main

Author SHA1 Message Date
jaseg
8c76006f5f Update paper for newer submission template 2025-02-17 16:52:54 +01:00
jaseg
99d4905880 Final version for TPEL submission 2025-01-27 18:43:21 +01:00
jaseg
cfae60ee68 paper: update comment on git repo url 2025-01-27 18:41:46 +01:00
jaseg
d0856a7efe Update graphics todo 2025-01-27 18:40:16 +01:00
jaseg
5cc5110d6b Fix paper date 2025-01-27 18:38:30 +01:00
jaseg
540d02be25 Add setup photo 2025-01-27 18:36:06 +01:00
jaseg
6540f6ff0f Fix up version logic 2025-01-27 18:06:31 +01:00
jaseg
522857cf73 paper: Add emergencity acknowledgement 2025-01-27 18:05:44 +01:00
jaseg
2d2118e7b3 Include Hendrik's comments 2025-01-24 12:10:45 +01:00
jaseg
1caddd0757 Update bibliography 2025-01-24 11:59:31 +01:00
jaseg
ac92394866 Last updates 2024-12-11 17:11:29 +01:00
jaseg
7a54792439 Improve table layout 2024-12-11 14:13:21 +01:00
jaseg
7703eddfad Shorten big table by removing k=1/2 cases 2024-12-11 14:10:40 +01:00
jaseg
a4faa49955 Update bibliography 2024-12-11 14:09:14 +01:00
jaseg
56f96463d8 Improve related work on rotating WPT 2024-12-11 14:08:46 +01:00
jaseg
8376dea009 Update bibliography 2024-12-11 13:37:51 +01:00
jaseg
2f13da79f6 Straighten up citations. 2024-12-11 13:37:24 +01:00
jaseg
26ed0a40d6 More WIP 2024-12-10 18:04:09 +01:00
jaseg
bf275d75f3 Rework WIP 2024-12-10 18:01:19 +01:00
jaseg
3a972912fd More rework, shorten 2024-12-09 18:16:00 +01:00
jaseg
aa443a5d52 Revision work 2024-12-09 17:34:31 +01:00
jaseg
59d1f34d56 Include reference to torus knots 2024-12-05 18:01:30 +01:00
jaseg
d4907fd11c Add more TODOs from Leo's review 2024-12-05 16:56:39 +01:00
jaseg
59fcb1f4d4 More fixes 2024-12-05 15:22:41 +01:00
jaseg
4d0fab0248 More Leo fixes 2024-12-03 13:07:45 +01:00
jaseg
51abb45ce2 Incorporate first batch of Leo's comments 2024-12-03 12:57:02 +01:00
jaseg
f43e604546 paper: add todos from leo 2024-11-21 17:26:09 +01:00
jaseg
fcbd119f57 Fix reference bug 2024-11-14 15:45:17 +01:00
jaseg
9077146920 Compact paper a bit 2024-11-14 15:43:52 +01:00
jaseg
e57a19a0fb Reformat for IEEE draft submission template variant 2024-11-14 13:51:37 +01:00
jaseg
7ba4e330ef Add abstract, fix some of the layout borkage 2024-11-13 22:00:50 +01:00
jaseg
aacb58c567 Finish first proof of paper 2024-11-13 21:49:17 +01:00
jaseg
180547dc7a Remove future work that we already did 2024-11-13 19:58:03 +01:00
jaseg
82eaace7fa paper: more text 2024-11-13 10:06:26 +01:00
jaseg
53a9b9f87c annotate tables 2024-11-13 09:43:08 +01:00
jaseg
0ee750496f Add total ripple plot 2024-11-13 09:07:15 +01:00
jaseg
453398c7c0 Add big data table 2024-11-13 07:31:34 +01:00
jaseg
22befa272b Paper: Add tabular wide coil results 2024-11-12 17:58:55 +01:00
jaseg
85bc4b3f91 First proof intro and related work done. 2024-11-08 19:31:16 +01:00
jaseg
ea1f14ce41 First proof partially done, add contributions section. 2024-11-08 19:27:03 +01:00
jaseg
d103b16e03 Related work mostly done 2024-11-08 17:59:27 +01:00
jaseg
ded9947d11 Related work WIP 2024-11-08 15:46:16 +01:00
jaseg
a25619a07a Related work WIP 2024-11-05 19:45:32 +01:00
jaseg
424402c3ae Work on related work 2024-10-31 17:33:31 +01:00
jaseg
32d11e4672 More work on related work section 2024-10-30 18:01:21 +01:00
jaseg
87f83fdb95 Extend related work section 2024-10-30 12:17:50 +01:00
jaseg
77a54510bd Fix typo 2024-10-29 18:24:06 +01:00
jaseg
7b7704cc30 Add fleming citation on counterwound planar coils 2024-10-29 18:23:33 +01:00
jaseg
9385c8f013 Add scan todo 2024-10-29 18:21:21 +01:00
jaseg
3fbfa4ffb6 Add citations to woven coil related work 2024-10-29 18:17:20 +01:00
jaseg
3d214630f6 Fix layout 2024-10-29 18:05:45 +01:00
jaseg
befc1aae0d Add related work on old coils, rename trace pair to inversion 2024-10-29 18:02:54 +01:00
jaseg
8e54fb69b4 Add wide coil exports 2024-10-26 12:16:46 +02:00
jaseg
2f1c7daa0a Export wide coil specimens 2024-10-25 17:52:17 +02:00
jaseg
62f443c3d6 gen: Add via stagger options 2024-10-25 12:48:21 +02:00
jaseg
8ba908c58e WIP 2024-10-14 14:23:52 +02:00
jaseg
44b2bb5fe2 WIP 2024-10-14 13:43:46 +02:00
jaseg
1dbf9abeae Paper text WIP 2024-10-11 16:11:42 +02:00
jaseg
55993ec1b8 Add missing plot 2024-10-11 10:55:04 +02:00
jaseg
a3c4c44e6e Paper WIP 2024-10-10 18:18:34 +02:00
jaseg
f450e4fded Extract inductace sims for the paper 2024-10-09 15:12:57 +02:00
jaseg
d310493e93 Revert "Work on Elmer sims"
This reverts commit cb81979a7f.
2024-10-08 16:18:57 +02:00
jaseg
8577c6209f Revert "More Elmer WIP"
This reverts commit 80294f98c2.
2024-10-08 16:15:28 +02:00
jaseg
ed9e1d3e53 Paper WIP 2024-10-04 17:30:12 +02:00
jaseg
f212246d62 Add more plots 2024-10-02 16:51:55 +02:00
jaseg
6085a62b10 Add more plots 2024-10-02 16:42:29 +02:00
jaseg
7db1999012 paper: Add coupling experiment section 2024-09-26 18:51:54 +02:00
jaseg
e324240250 Update experimental section with results 2024-09-26 18:30:32 +02:00
jaseg
a4adfcfc6e Add first measurement plots 2024-09-24 18:11:55 +02:00
jaseg
80294f98c2 More Elmer WIP 2024-09-23 19:25:11 +02:00
jaseg
70d37e1950 paper: Work on spiral parametrization 2024-09-20 16:44:57 +02:00
jaseg
7abc27c8b8 Update plots 2024-09-19 17:30:57 +02:00
jaseg
f9b584e7a8 Add nice plots 2024-09-19 17:07:52 +02:00
jaseg
96e8bad4eb sim WIP 2024-09-13 17:52:20 +02:00
jaseg
7d717fb5c5 spirals WIP 2024-09-11 10:17:53 +02:00
jaseg
c643d0747a Paper structure WIP 2024-09-10 15:25:39 +02:00
69 changed files with 1894759 additions and 127 deletions

1480
Spiral plots.ipynb Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,21 +1,3 @@
Coil_Solver:
Equation: CoilSolver
Procedure: '"CoilSolver" "CoilSolver"'
Linear System Solver: Iterative
Linear System Preconditioning: ILU1
Linear System Max Iterations: 1000
Linear System Convergence Tolerance: 1e-10
Linear System Iterative Method: BiCGStab
Linear System Residual Output: 10
Steady State Convergence Tolerance: 1e-06
Normalize Coil Current: True
Nonlinear System Consistent Norm: True
Coil Closed: True
Narrow Interface: True
Save Coil Set: True
Save Coil Index: True
Calculate Elemental Fields: True
Static_Current_Conduction:
Equation: Static Current Conduction
Variable: Potential

View file

@ -208,13 +208,13 @@ def inductance(mesh_file, sim_dir, solver_method):
fr4 = elmer.load_material('fr4', sim, 'coil_mag_materials.yml')
copper = elmer.load_material('copper', sim, 'coil_mag_materials.yml')
solver_coil = elmer.load_solver('Coil_Solver', sim, 'coil_mag_solvers.yml')
solver_current = elmer.load_solver('Static_Current_Conduction', sim, 'coil_mag_solvers.yml')
solver_magdyn = elmer.load_solver('Magneto_Dynamics', sim, 'coil_mag_solvers.yml')
if solver_method:
solver_magdyn.data['Linear System Iterative Method'] = solver_method
solver_magdyn_calc = elmer.load_solver('Magneto_Dynamics_Calculations', sim, 'coil_mag_solvers.yml')
copper_eqn = elmer.Equation(sim, 'copperEqn', [solver_coil, solver_magdyn, solver_magdyn_calc])
copper_eqn = elmer.Equation(sim, 'copperEqn', [solver_current, solver_magdyn, solver_magdyn_calc])
air_eqn = elmer.Equation(sim, 'airEqn', [solver_magdyn, solver_magdyn_calc])
bdy_trace = elmer.Body(sim, 'trace', [physical['trace'][1]])
@ -237,20 +237,20 @@ def inductance(mesh_file, sim_dir, solver_method):
bdy_if_bottom.material = copper
bdy_if_bottom.equation = copper_eqn
comp_coil = elmer.Component(sim, 'Coil', [bdy_trace])
comp_coil.data['Desired Current Density'] = 'Real 1.0'
current_force = elmer.BodyForce(sim, 'Source', {
'Current Density 1': 'Equals "CoilCurrent e 1"',
'Current Density 2': 'Equals "CoilCurrent e 2"',
'Current Density 3': 'Equals "CoilCurrent e 3"',
})
bdy_trace.body_force = current_force
potential_force = elmer.BodyForce(sim, 'electric_potential', {'Electric Potential': 'Equals "Potential"'})
bdy_trace.body_force = potential_force
# boundaries
boundary_airbox = elmer.Boundary(sim, 'FarField', [physical['airbox_surface'][1]])
boundary_airbox.data['Electric Infinity BC'] = 'True'
boundary_vplus = elmer.Boundary(sim, 'Vplus', [physical['interface_top'][1]])
boundary_vplus.data['Potential'] = 1.0
boundary_vplus.data['Save Scalars'] = True
boundary_vminus = elmer.Boundary(sim, 'Vminus', [physical['interface_bottom'][1]])
boundary_vminus.data['Potential'] = 0.0
with tempfile.TemporaryDirectory() as tmpdir:
tmpdir = sim_dir if sim_dir else Path(tmpdir)
@ -261,8 +261,6 @@ def inductance(mesh_file, sim_dir, solver_method):
stdout_log=(tmpdir / 'ElmerGrid_stdout.log'),
stderr_log=(tmpdir / 'ElmerGrid_stderr.log'))
solver_stdout, solver_stderr = (tmpdir / 'ElmerSolver_stdout.log'), (tmpdir / 'ElmerSolver_stderr.log')
print('Solver stdout:', solver_stdout)
print('Solver stderr:', solver_stderr)
res = elmer_solver(tmpdir,
stdout_log=solver_stdout,
stderr_log=solver_stderr)

View file

@ -10,6 +10,7 @@
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
@ -62,9 +63,10 @@
35,
36,
39,
40
40,
41
],
"visible_layers": "fffffff_ffffffff",
"visible_layers": "ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
@ -75,9 +77,71 @@
},
"meta": {
"filename": "coil_test_board.kicad_prl",
"version": 3
"version": 4
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": 0
},
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

View file

@ -6,14 +6,14 @@
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
@ -24,13 +24,13 @@
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.09999999999999999,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
@ -41,11 +41,11 @@
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.09999999999999999,
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.09999999999999999,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
@ -63,15 +63,20 @@
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_near_hole": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
@ -98,7 +103,9 @@
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
@ -111,27 +118,29 @@
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.7999999999999999,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.09999999999999999,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onviapad": true
"td_onvia": true
}
],
"teardrop_parameters": [
@ -206,6 +215,7 @@
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
@ -234,6 +244,7 @@
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
@ -242,7 +253,7 @@
}
],
"meta": {
"version": 3
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
@ -257,7 +268,7 @@
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"svg": "svg_vis",
"vrml": ""
},
"page_layout_descr_file": ""

BIN
gerber_wide_1.zip Normal file

Binary file not shown.

BIN
gerber_wide_2.zip Normal file

Binary file not shown.

BIN
gerber_wide_3.zip Normal file

Binary file not shown.

BIN
gerber_wide_4.zip Normal file

Binary file not shown.

BIN
gerber_wide_5.zip Normal file

Binary file not shown.

100
make_wide_coils.py Normal file
View file

@ -0,0 +1,100 @@
#!/bin/sh
import math
import subprocess
import tempfile
from gerbonara import utils
from gerbonara.cad.kicad import pcb as kicad_pcb
from gerbonara.cad.kicad import graphical_primitives as kicad_gr
from gerbonara.cad.kicad import footprints as kicad_fp
outer_dias = [40, 65, 90]
nks = [[(1, 150),
(1, 300),
(1, 480)],
[(53, 50),
(53, 100),
(53, 160)],
[(53, 100),
(53, 200),
(53, 320)],
[(53, 150),
(53, 300),
(53, 480)],
[(53, 1),
(53, 1),
(53, 1)]]
def make_pad(x, y, side, w, h, **kwargs):
f = kicad_fp.Footprint(name=f'conn_gen_01x{n}', _version=None, generator=None, at=kicad_fp.AtPos(x, y, 0), **kwargs)
for i in range(n):
f.pads.append(kicad_fp.Pad(
layers=['F.Mask', 'F.Cu'] if side == 'top' else ['B.Mask', 'B.Cu'],
number=str(i+1),
type=kicad_fp.Atom.smd,
shape=kicad_fp.Atom.rect,
at=kicad_fp.AtPos(0, 0, 0),
size=kicad_fp.XYCoord(w, h),
footprint=f))
return f
for case_num, nk in enumerate(nks, start=1):
board_out = kicad_pcb.Board.empty_board()
for (i, d2), (n, k) in zip(enumerate(outer_dias), nk):
d1 = d2 - 15
with tempfile.NamedTemporaryFile(suffix='.kicad_pcb') as f:
args = 'python twisted_coil_gen_twolayer.py --circle-segments 331 --trace-width 0.13 --via-drill 0.3 --via-diameter 0.6 --via-offset 0.3'.split() + [
'--pcb', f.name,
'--turns', str(n), '--twists', str(k),
'--inner-diameter', str(d1), '--outer-diameter', str(d2),
]
if k > 100:
args += ['--stagger-inner-vias', '--stagger-outer-vias', '--via-offset', '0.4']
subprocess.run(args, check=True)
for obj in kicad_pcb.Board.open(f.name).objects():
board_out.add(obj)
board_out.add(kicad_gr.Text(text=f'case {case_num} n={n} k={k}\\nd={d1:.1f}-{d2:.2f}mm\\nt=0.15mm',
at=kicad_gr.AtPos(0, (d1+d2)/2/2), layer=kicad_gr.TextLayer('F.SilkS')))
# Slots
if i < len(outer_dias)-1:
na = 8
r2 = d2/2
r = r2 + 2.5
aw = 2*math.asin(3 / 2 / r)
for j in range(na):
start = utils.rotate_point(r, 0, (j+1)*2*math.pi/na - aw/2)
end = utils.rotate_point(r, 0, j*2*math.pi/na + aw/2)
arc = kicad_gr.Arc(end=end, center=(0, 0), start=start, stroke=kicad_gr.Stroke(width=1.2), layer='Edge.Cuts')
board_out.add(arc)
# Connecting pads
board_out.add(make_pad(d2/2+1, 0, 'top', 2, 0.7))
board_out.add(make_pad(d2/2+1, 0, 'bottom', 2, 0.7))
board_out.add(kicad_pcb.TrackSegment(start=kicad_pcb.XYCoord(d2/2, 0), end=kicad_pcb.XYCoord(d2/2+1, 0), width=0.15, layer='F.Cu'))
board_out.add(kicad_pcb.TrackSegment(start=kicad_pcb.XYCoord(d2/2, 0), end=kicad_pcb.XYCoord(d2/2+1, 0), width=0.15, layer='B.Cu'))
# Circular board outline
board_out.add(kicad_gr.Circle(center=kicad_gr.XYCoord(0, 0), end=kicad_gr.XYCoord(d2/2+5, 0), layer='Edge.Cuts'))
# Silk crosshairs
r = d2/2 * math.sin(math.pi/4)
board_out.add(kicad_gr.Line(start=kicad_gr.XYCoord(-r, -r), end=kicad_gr.XYCoord(r, r), layer='F.SilkS'))
board_out.add(kicad_gr.Line(start=kicad_gr.XYCoord(r, -r), end=kicad_gr.XYCoord(-r, r), layer='F.SilkS'))
board_out.add(kicad_gr.Line(start=kicad_gr.XYCoord(-r, -r), end=kicad_gr.XYCoord(r, r), layer='B.SilkS'))
board_out.add(kicad_gr.Line(start=kicad_gr.XYCoord(r, -r), end=kicad_gr.XYCoord(-r, r), layer='B.SilkS'))
r = d2/2
board_out.add(kicad_gr.Line(start=kicad_gr.XYCoord(0, r), end=kicad_gr.XYCoord(0, -r), layer='B.SilkS'))
board_out.add(kicad_gr.Line(start=kicad_gr.XYCoord(r, 0), end=kicad_gr.XYCoord(-r, 0), layer='B.SilkS'))
board_out.write(f'wide_coil_{case_num}.kicad_pcb')

7
paper/.gitignore vendored Normal file
View file

@ -0,0 +1,7 @@
*.bbl
*.blg
*.aux
*.log
*.bcf
*.run.xml
*.out

View file

@ -8,7 +8,7 @@ MAKEFLAGS += --no-builtin-rules
main_tex ?= paper
VERSION_STRING := $(shell git describe --tags --long --dirty)
VERSION_STRING := $(shell git describe --tags --long)
all: ${main_tex}.pdf
@ -17,8 +17,26 @@ all: ${main_tex}.pdf
biber $*
pdflatex -shell-escape $<
paper_biber.bib:
biber --output-format=bibtex --output-resolve paper.bcf
submission.zip:
rm -f submission.zip
zip -r submission.zip paper.tex paper.bib version.tex \
figures/klein-spulen-schwingkreise-korbspule.jpg\
figures/k_ripple_plot.pdf\
figures/nk_combined.pdf\
figures/nk_complex_illust.pdf\
figures/rms_ripple_double_rotation_n3_r4.pdf\
figures/saacke-radiotechnik-3-ledionspule.jpg\
figures/svg_vis_paper_plain.png\
figures/svg_vis_paper.png\
figures/symmetry_3turn_n_twist.pdf\
figures/test_schematic.pdf\
figures/setup_probe_small.jpg
version.tex: ${main_tex}.tex paper.bib
echo "${VERSION_STRING}" > $@
echo -n "${VERSION_STRING}" > $@
.PHONY: clean
clean:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,825 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="185.356mm"
height="93.594002mm"
viewBox="0 0 185.356 93.594002"
version="1.1"
id="svg1"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
sodipodi:docname="test_schematic.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.6641134"
inkscape:cx="244.27422"
inkscape:cy="142.71864"
inkscape:window-width="3183"
inkscape:window-height="1783"
inkscape:window-x="26"
inkscape:window-y="23"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect10" />
<rect
x="385.70886"
y="297.09421"
width="102.83019"
height="111.67734"
id="rect3" />
<marker
style="overflow:visible"
id="ConcaveTriangle"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path7" />
</marker>
<rect
x="385.70886"
y="297.09421"
width="102.83019"
height="111.67734"
id="rect4" />
<rect
x="385.70886"
y="297.09421"
width="102.83019"
height="111.67734"
id="rect5" />
<rect
x="385.70886"
y="297.09421"
width="102.83019"
height="111.67734"
id="rect6" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect10-5" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect39" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect40" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect47" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect48" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect55" />
<rect
x="437.73779"
y="348.87198"
width="273.77188"
height="112.60981"
id="rect56" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect57" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect58" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect60" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect61" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect62" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect63" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect64" />
<rect
x="437.73779"
y="348.87198"
width="177.31618"
height="129.1815"
id="rect65" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-38.334231,-50.81432)">
<rect
style="fill:#ffeeaa;stroke:none;stroke-width:0.365;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect7"
width="57.955029"
height="67.441551"
x="83.425385"
y="68.577538"
rx="1.9671597"
ry="1.9671596" />
<g
id="g6"
transform="matrix(0.7372429,0,0,0.73667369,66.561458,44.083962)"
style="stroke-width:1.35693">
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678464;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker-end:url(#ConcaveTriangle);stop-color:#000000;stop-opacity:1"
d="M 68.349571,99.162305 H 89.106306"
id="path1"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678464;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker-end:url(#ConcaveTriangle);stop-color:#000000;stop-opacity:1"
d="M 75.35578,106.3617 V 85.604966"
id="path2"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678464;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker-end:url(#ConcaveTriangle);stop-color:#000000;stop-opacity:1"
d="M 68.916477,102.85268 86.892335,92.474311"
id="path3"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-23.790662,1.7156218)"
id="text3"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.6667px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;shape-inside:url(#rect3);display:inline;stroke-width:1.35693"><tspan
x="385.70898"
y="321.1139"
id="tspan17">z</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-8.2310232,15.859299)"
id="text4"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.6667px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;shape-inside:url(#rect4);display:inline;stroke-width:1.35693"><tspan
x="385.70898"
y="321.1139"
id="tspan19">x</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-11.147673,6.5390471)"
id="text5"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.6667px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;shape-inside:url(#rect5);display:inline;stroke-width:1.35693"><tspan
x="385.70898"
y="321.1139"
id="tspan20">y</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-19.884406,21.928304)"
id="text6"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.6667px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;shape-inside:url(#rect6);display:inline;stroke-width:1.35693"><tspan
x="385.70898"
y="321.1139"
id="tspan33">α</tspan></text>
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678464;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker-end:url(#ConcaveTriangle);stop-color:#000000;stop-opacity:1"
d="m 71.585314,104.55786 c -1.060219,0.28749 -1.388316,0.86549 -1.381645,1.3205 0.0208,1.419 3.116278,1.75043 4.838231,1.81736 2.514725,0.0977 5.827504,-0.48364 5.827504,-2.03119 0,-0.63687 -0.518568,-1.15241 -1.996357,-1.55072"
id="path6"
sodipodi:nodetypes="csssc" />
</g>
<g
id="g8"
transform="rotate(-90,84.02158,87.2593)">
<rect
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect8"
width="15.001786"
height="5.0005956"
x="76.25853"
y="147.85533" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="M 69.838171,150.35563 H 97.680675"
id="path8"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="M 97.680675,150.35563 V 162.5472"
id="path18"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 97.680675,198.09083 v 10.6746"
id="path24"
sodipodi:nodetypes="cc" />
</g>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,46.590248,-34.083774)"
id="text9"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect10);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan35"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan34">Receiver</tspan></tspan></text>
<g
id="g11"
transform="rotate(-90,113.22648,58.0544)">
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="M 69.838171,150.35563 H 97.680675"
id="path11"
sodipodi:nodetypes="cc" />
<rect
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect11"
width="15.001786"
height="5.0005956"
x="76.25853"
y="147.85533" />
</g>
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m 147.1179,101.44271 h 22.71879"
id="path18-1"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m 169.80619,112.66126 0.0305,-31.223089"
id="path8-9"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="M 185.43453,101.44271 V 81.438168"
id="path25"
sodipodi:nodetypes="cc" />
<g
id="g33"
transform="rotate(-90,108.31112,80.71908)">
<g
id="g29"
transform="translate(-0.25,0.061)">
<g
id="g28"
transform="translate(7.2026149,12.184985)">
<g
id="g26"
transform="matrix(0.53527713,0,0,0.54772615,50.414423,56.309066)"
style="stroke-width:1.84684">
<ellipse
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923418;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="ellipse25"
cx="108.48818"
cy="169.1588"
rx="5.2521563"
ry="1.7507188" />
<path
id="path26"
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923417;stroke-linecap:round;stroke-linejoin:round"
d="m 103.22521,169.1588 v -42.90097 h 10.51513 v 42.90097"
sodipodi:nodetypes="cccc" />
<ellipse
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923418;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="ellipse26"
cx="108.47737"
cy="126.25288"
rx="5.2521563"
ry="1.7507188" />
</g>
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 108.47737,119.47146 v 8.53214"
id="path27"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 108.47737,128.0036 v 27.01149"
id="path28"
sodipodi:nodetypes="cc" />
</g>
</g>
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle29"
cx="112.62113"
cy="142.24466"
r="0.73016149" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 113.35129,142.24465 h -5.75927"
id="path29"
sodipodi:nodetypes="cc" />
<g
id="g32"
transform="matrix(1,0,0,-1,0.51562288,313.42993)">
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle30"
cx="112.10551"
cy="155.58745"
r="0.73016149" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 112.83567,155.58744 H 107.0764"
id="path31"
sodipodi:nodetypes="cc" />
</g>
</g>
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m 185.43453,101.44271 h 20.09318"
id="path18-1-8"
sodipodi:nodetypes="cc" />
<g
id="g38"
transform="matrix(0,1,1,0,27.561533,5.0692385)">
<g
id="g36"
transform="translate(-0.25,0.061)">
<g
id="g35"
transform="translate(7.2026149,12.184985)">
<g
id="g34"
transform="matrix(0.53527713,0,0,0.54772615,50.414423,56.309066)"
style="stroke-width:1.84684">
<ellipse
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923418;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="ellipse33"
cx="108.48818"
cy="169.1588"
rx="5.2521563"
ry="1.7507188" />
<path
id="path33"
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923417;stroke-linecap:round;stroke-linejoin:round"
d="m 103.22521,169.1588 v -42.90097 h 10.51513 v 42.90097"
sodipodi:nodetypes="cccc" />
<ellipse
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923418;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="ellipse34"
cx="108.47737"
cy="126.25288"
rx="5.2521563"
ry="1.7507188" />
</g>
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 108.47737,119.47146 v 8.53214"
id="path34"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 108.47737,128.0036 v 27.01149"
id="path35"
sodipodi:nodetypes="cc" />
</g>
</g>
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle36"
cx="112.62113"
cy="142.24466"
r="0.73016149" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 113.35129,142.24465 h -5.75927"
id="path36"
sodipodi:nodetypes="cc" />
<g
id="g37"
transform="matrix(1,0,0,-1,0.51562288,313.42993)">
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle37"
cx="112.10551"
cy="155.58745"
r="0.73016149" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 112.83567,155.58744 h -8.81671"
id="path37"
sodipodi:nodetypes="cc" />
</g>
</g>
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle29-1"
cx="-101.44271"
cy="169.82144"
r="0.73016149"
transform="rotate(-90)" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="M 159.27898,73.600206 V 120.49922"
id="path8-9-4-9"
sodipodi:nodetypes="cc" />
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle29-1-8"
cx="73.600204"
cy="159.27896"
transform="matrix(0,1,1,0,0,0)"
r="0.73016149" />
<g
id="g40"
transform="rotate(-90,95.949903,67.216385)">
<circle
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="path38"
cx="42.667065"
cy="170.93503"
r="4.845932" />
<text
xml:space="preserve"
transform="matrix(0,0.26458333,-0.26458333,0,138.95415,52.731509)"
id="text9-2"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect10-5);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan37"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan36">V</tspan></tspan></text>
</g>
<g
id="g41"
transform="translate(136.59026,-96.367894)">
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-42.558683,87.081574)"
id="text39"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect39);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan39"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan38">R</tspan></tspan></text>
<text
xml:space="preserve"
transform="matrix(0.14864912,0,0,0.14864912,13.222331,131.43791)"
id="text40"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect40);display:inline;stroke-width:1.77992"><tspan
x="437.73828"
y="373.61669"
id="tspan41"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan40">L</tspan></tspan></text>
</g>
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m 185.40403,109.60382 h 25.06601"
id="path39"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 204.51447,120.49922 h 5.95557"
id="path37-6"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 210.47004,120.49922 v -10.8954"
id="path37-3"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-39.978173,33.881434)"
id="text56"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;text-align:center;white-space:pre;shape-inside:url(#rect56);display:inline"
x="50.625053"
y="0"><tspan
x="474.62395"
y="373.61669"
id="tspan43"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan42">Motion platform</tspan></tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,36.505656,-9.437934)"
id="text58"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect58);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan45"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan44">L</tspan></tspan></text>
<g
id="g60"
transform="translate(121.10514,-53.606385)">
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-42.558683,87.081574)"
id="text59"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect60);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan47"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan46">V</tspan></tspan></text>
<text
xml:space="preserve"
transform="matrix(0.14864912,0,0,0.14864912,12.012663,131.43791)"
id="text60"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect61);display:inline;stroke-width:1.77992"><tspan
x="437.73828"
y="373.61669"
id="tspan49"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan48">Out</tspan></tspan></text>
</g>
<g
id="g9"
transform="rotate(-90,73.52791,97.752971)">
<rect
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect9"
width="15.001786"
height="5.0005956"
x="76.25853"
y="147.85533" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="M 69.838171,150.35563 H 97.680675"
id="path9"
sodipodi:nodetypes="cc" />
</g>
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m 113.939,73.6002 h 12.19157"
id="path18-9"
sodipodi:nodetypes="cc" />
<g
id="g46"
transform="rotate(-90,61.076952,127.95324)">
<g
id="g44"
transform="translate(-0.25,0.061)">
<g
id="g43"
transform="translate(7.2026149,12.184985)">
<g
id="g42"
transform="matrix(0.53527713,0,0,0.54772615,50.414423,56.309066)"
style="stroke-width:1.84684">
<ellipse
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923418;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="ellipse41"
cx="108.48818"
cy="193.9332"
rx="5.2521563"
ry="1.7507188" />
<path
id="path41"
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923417;stroke-linecap:round;stroke-linejoin:round"
d="m 103.22521,193.90511 v -67.64728 h 10.51513 v 67.64728"
sodipodi:nodetypes="cccc" />
<ellipse
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.923418;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="ellipse42"
cx="108.47737"
cy="126.25288"
rx="5.2521563"
ry="1.7507188" />
</g>
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 108.47737,119.47146 v 8.53214"
id="path42"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 108.47737,128.0036 v 40.56569"
id="path43"
sodipodi:nodetypes="cc" />
</g>
</g>
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle44"
cx="112.62113"
cy="142.24466"
r="0.73016149" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 113.35129,142.24465 h -5.75927"
id="path44"
sodipodi:nodetypes="cc" />
<g
id="g45"
transform="matrix(1,0,0,-1,0.51562288,313.42993)">
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle45"
cx="112.10551"
cy="142.03323"
r="0.73016149" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 112.83567,142.03324 H 107.0764"
id="path45"
sodipodi:nodetypes="cc" />
</g>
</g>
<g
id="g47"
transform="rotate(-90,12.020498,118.16803)">
<circle
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="circle46"
cx="42.667065"
cy="170.93503"
r="4.845932" />
<text
xml:space="preserve"
transform="matrix(0,0.26458333,-0.26458333,0,138.95415,52.731509)"
id="text46"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect47);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan51"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan50">V</tspan></tspan></text>
</g>
<g
id="g48"
transform="rotate(-90,102.24798,61.168296)">
<circle
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="circle47"
cx="75.894829"
cy="9.9268379"
r="4.845932" />
<path
style="fill:none;stroke:#000000;stroke-width:0.500002;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 75.882664,12.622933 c 0,0 -1.320624,-0.616184 -1.320624,-1.348048 0,-0.718365 0.885426,-1.113278 1.320624,-1.3480463 0.436571,-0.23551 1.344954,-0.571053 1.344954,-1.406328 0,-0.781986 -1.344954,-1.289768 -1.344954,-1.289768"
id="path44-8"
sodipodi:nodetypes="csssc" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 64.799615,73.6002 -0.0121,8.991146"
id="path44-7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 51.012582,73.6002 -0.01211,8.991146"
id="path48"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 64.799615,92.45156 -0.0121,8.99114"
id="path49"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 51.012582,92.45156 -0.01211,8.99114"
id="path50"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="M 51.012582,73.6002 H 64.841165"
id="path42-3"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="M 51.000472,101.4427 H 64.829055"
id="path51"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m 64.787505,101.4427 h 10.58086"
id="path52"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="M 75.368365,81.438165 V 101.4427"
id="path53"
sodipodi:nodetypes="cc" />
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle44-0"
cx="-101.4427"
cy="64.793571"
r="0.73016149"
transform="rotate(-90)" />
<circle
style="fill:#000000;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="circle53"
cx="-73.600197"
cy="64.793571"
r="0.73016149"
transform="rotate(-90)" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="M 104.52041,81.438162 V 101.4427"
id="path54"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m 104.52041,101.4427 h 21.61016"
id="path55"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-52.418097,-33.843802)"
id="text55"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect55);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan53"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan52">Transmitter</tspan></tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,1.3112422,-9.1879403)"
id="text57"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect57);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan55"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan54">L</tspan></tspan></text>
<g
id="g62"
transform="translate(-6.158472,-88.237458)">
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-42.558683,87.081574)"
id="text61"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect62);display:inline"><tspan
x="437.73828"
y="373.61669"
id="tspan57"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan56">V</tspan></tspan></text>
<text
xml:space="preserve"
transform="matrix(0.14864912,0,0,0.14864912,12.012663,131.43791)"
id="text62"
style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect63);display:inline;stroke-width:1.77992"><tspan
x="437.73828"
y="373.61669"
id="tspan59"><tspan
style="font-family:Inter;-inkscape-font-specification:Inter"
id="tspan58">in</tspan></tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -1 +1 @@
final-tpel-submission-2025-01-27-0-g99d4905

BIN
pretty_plots.pdf Normal file

Binary file not shown.

15331
pretty_plots.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

@ -14,6 +14,7 @@ import time
import math
import json
import subprocess
import re
import tqdm
import click
@ -25,7 +26,7 @@ def mesh_args(db, coil_id, mesh_type, mesh_file, outfile, **kwargs):
rows = dict(db.execute('SELECT key, value FROM results WHERE coil_id=?', (coil_id,)).fetchall())
rows.update(kwargs)
args = ['python', '-m', 'twisted_coil_gen_twolayer', mesh_type, mesh_file, '--pcb']
for k, v in rows:
for k, v in rows.items():
prefix, _, k = k.partition('.')
if v != 'False' and prefix == 'gen':
args.append('--' + k.replace('_', '-'))
@ -104,9 +105,10 @@ def list_runs(ctx):
@cli.command()
@click.option('-r', '--run-id')
@click.option('-l', '--log-dir', default='logs', type=click.Path(dir_okay=True, file_okay=False, path_type=pathlib.Path))
@click.option('-m', '--mesh-dir', default='meshes')
@click.pass_context
def list_coils(ctx, run_id, mesh_dir):
def list_coils(ctx, run_id, log_dir, mesh_dir):
db = ctx.obj['db_connect']()
if run_id is None:
run_id, = db.execute('SELECT run_id FROM runs ORDER BY timestamp DESC LIMIT 1').fetchone()
@ -122,9 +124,11 @@ def list_coils(ctx, run_id, mesh_dir):
'gen.inner_diameter': 'ID[mm]',
'gen.outer_diameter': 'OD[mm]',
'calculated_fill_factor': 'Fill factor',
'calculated_approximate_inductance': 'L [µH]',
'calculated_approximate_inductance': 'L [µH] (design)',
'calculated_trace_length': 'track len [mm]',
'calculated_approximate_resistance': 'R [mΩ]'}
'calculated_approximate_resistance': 'R [mΩ] (design)',
'sim_inductance': 'L [µH] (sim)',
'sim_resistance': 'R [mΩ] (sim)'}
out = []
for row in db.execute('SELECT *, MAX(meshes.timestamp) FROM coils LEFT JOIN meshes ON coils.coil_id=meshes.coil_id WHERE run_id=? GROUP BY coils.coil_id, mesh_type ORDER BY meshes.timestamp', (run_id,)).fetchall():
if row['timestamp']:
@ -151,6 +155,19 @@ def list_coils(ctx, run_id, mesh_dir):
if 'calculated_fill_factor' in params:
params['calculated_fill_factor'] = f'{float(params["calculated_fill_factor"]):.03f}'
log_file = log_dir / (pathlib.Path(row['filename']).stem + '_elmer_self_inductance.log')
if log_file.is_file():
log = log_file.read_text()
resistance = re.search(r'Coil resistance calculated by solver: ([0-9.e+-]*) (\w?)Ω', log)
inductance = re.search(r'Inductance calucated from field: ([0-9.e+-]*) (\w?)H', log)
si_prefix = {'': 1, 'm': 1e-3, 'µ': 1e-6, 'n': 1e-9, 'p': 1e-12}
if resistance:
resistance = float(resistance.group(1)) * si_prefix[resistance.group(2)]
params['sim_resistance'] = format(resistance*1e3, '.3f')
if inductance:
inductance = float(inductance.group(1)) * si_prefix[inductance.group(2)]
params['sim_inductance'] = format(inductance*1e6, '.3f')
out.append([row['coil_id'], row['mesh_type'], state, row['timestamp']] + [params.get(key, '-') for key in keys])
print(tabulate(out, headers=['coil', 'mesh', 'state', 'time'] + list(keys.values()), disable_numparse=True, stralign='right'))
@ -180,13 +197,13 @@ def run(ctx, run_id, log_dir, mesh_dir):
@run.command()
@click.option('-j', '--num-jobs', type=int, default=1, help='Number of jobs to run in parallel')
@click.option('-t', '--mesh-type', type=click.Choice(['split', 'normal', 'mutual']), default=['split', 'normal', 'mutual'], multiple=True)
@click.pass_context
def generate_meshes(ctx, num_jobs):
def generate_meshes(ctx, num_jobs, mesh_type):
db = ctx.obj['db_connect']()
rows = [row['coil_id'] for row in db.execute('SELECT coil_id FROM coils WHERE run_id=?', (ctx.obj['run_id'],)).fetchall()]
mesh_types = ['split', 'normal', 'mutual']
params = list(itertools.product(rows, mesh_types))
params = list(itertools.product(rows, mesh_type))
all_files = {get_mesh_file(db, ctx.obj['mesh_dir'], ctx.obj['run_id'], coil_id, mesh_type): (coil_id, mesh_type) for coil_id, mesh_type in params}
todo = [(coil_id, mesh_type) for f, (coil_id, mesh_type) in all_files.items() if not f.is_file()]
@ -232,7 +249,7 @@ def self_inductance(ctx, num_jobs):
with tempfile.TemporaryDirectory() as tmpdir:
try:
tqdm.tqdm.write(f'Processing {mesh_file}')
res = subprocess.run(['python', '-m', 'coil_parasitics', 'inductance', '--sim-dir', tmpdir, mesh_file], check=True, capture_output=True)
res = subprocess.run(['python', '-m', 'coil_parasitics', 'inductance', '--sim-dir', tmpdir, mesh_file], check=True, capture_output=True, text=True)
logfile.write_text(res.stdout+res.stderr)
except subprocess.CalledProcessError as e:
print(f'Error running simulation, rc={e.returncode}')
@ -266,8 +283,8 @@ def self_inductance(ctx, num_jobs):
q.join()
@run.command()
@click.option('target_hosts', type=click.Path(exists=True, dir_okay=False, path_type=pathlib.Path), help='File with one SSH target host name per line')
@click.option('job_file', type=click.Path(exists=True, dir_okay=False, path_type=pathlib.Path), help='JSON job description file')
@click.argument('target_hosts', type=click.Path(exists=True, dir_okay=False, path_type=pathlib.Path))
@click.argument('job_file', type=click.Path(exists=True, dir_okay=False, path_type=pathlib.Path))
@click.pass_context
def run_mutual_inductance(ctx, target_hosts, job_file):
db = ctx.obj['db_connect']()
@ -301,7 +318,7 @@ def run_mutual_inductance(ctx, target_hosts, job_file):
'ElmerGrid_stderr.log',
'ElmerSolver_stdout.log',
'ElmerSolver_stderr.log']:
subprocess.run(['scp', f'{host}:{mesh_abs}/{workdir.name}/{fn}', str(host_log(Path(fn).stem))], check=True, capture_output=True, text=True)
subprocess.run(['scp', f'{host}:{mesh_abs}/{workdir.name}/{fn}', str(host_log(Path(fn).stem))], check=True, capture_output=True, text=True)
except subprocess.CalledProcessError as e:
print(f'Error copying simulation logs, rc={e.returncode}', file=sys.stderr)

46
svg-vis-paper-2.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

369
svg-vis-paper-3.svg Normal file
View file

@ -0,0 +1,369 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="45.350204mm"
height="42.200001mm"
viewBox="0 0 45.350204 42.200001"
version="1.1"
id="svg1"
sodipodi:docname="svg-vis-paper-3.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="4.6942248"
inkscape:cx="61.458497"
inkscape:cy="121.10626"
inkscape:window-width="3840"
inkscape:window-height="2091"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1335"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1336"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1337"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1338"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1516"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1517"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1518"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1519"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1520"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1521"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1522"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1523"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1524"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1525"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1526"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1527"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1528"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1529"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#1a1a1a;fill-opacity:1;stroke:none"
id="g1530"
transform="translate(-178.4,-349.4)">
<g
id="g76"
style="fill:#1a1a1a">
<circle
cx="180"
cy="351"
r="1.6"
id="circle1334"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="180"
cy="390"
r="1.6"
id="circle1335"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="219"
cy="351"
r="1.6"
id="circle1336"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="219"
cy="390"
r="1.6"
id="circle1337"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="194.82381"
cy="376.36371"
r="0.60000002"
id="circle1515"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="192"
cy="370.5"
r="0.60000002"
id="circle1516"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="210.4111"
cy="384.1821"
r="0.60000002"
id="circle1517"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="194.82381"
cy="364.63629"
r="0.60000002"
id="circle1518"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="195.6059"
cy="387.56119"
r="0.60000002"
id="circle1519"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="201.1689"
cy="363.18799"
r="0.60000002"
id="circle1520"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="183.733"
cy="378.09299"
r="0.60000002"
id="circle1521"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="206.25729"
cy="367.24591"
r="0.60000002"
id="circle1522"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="183.733"
cy="362.90701"
r="0.60000002"
id="circle1523"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="206.25729"
cy="373.75409"
r="0.60000002"
id="circle1524"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="195.6059"
cy="353.43881"
r="0.60000002"
id="circle1525"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="201.1689"
cy="377.81201"
r="0.60000002"
id="circle1526"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="210.4111"
cy="356.8179"
r="0.60000002"
id="circle1527"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="222"
cy="369.23001"
r="0.55000001"
id="circle1528"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="222"
cy="371.76999"
r="0.55000001"
id="circle1529"
style="fill:#1a1a1a" />
</g>
</g>
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2516"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2517"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2518"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2519"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2520"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2521"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2522"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2523"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2524"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2525"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2526"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2527"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2528"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2529"
transform="translate(-178.4,-349.4)" />
<g
style="fill:none;stroke:#4d7fc4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2530"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2759"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2760"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2761"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2762"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2940"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2941"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2942"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2943"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2944"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2945"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2946"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2947"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2948"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2949"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2950"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2951"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2952"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2953"
transform="translate(-178.4,-349.4)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

378
svg-vis-paper-4.svg Normal file
View file

@ -0,0 +1,378 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="45.350204mm"
height="42.200001mm"
viewBox="0 0 45.350204 42.200001"
version="1.1"
id="svg1"
sodipodi:docname="svg-vis-paper-4.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="6.6386364"
inkscape:cx="89.702157"
inkscape:cy="89.85279"
inkscape:window-width="3840"
inkscape:window-height="2091"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1335"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1336"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1337"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1338"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1516"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1517"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1518"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1519"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1520"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1521"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1522"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1523"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1524"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1525"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1526"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1527"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1528"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1529"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#1a1a1a;fill-opacity:1;stroke:none"
id="g1530"
transform="translate(-178.4,-349.4)">
<g
id="g76"
style="fill:#1a1a1a">
<circle
cx="180"
cy="351"
r="1.6"
id="circle1334"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="180"
cy="390"
r="1.6"
id="circle1335"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="219"
cy="351"
r="1.6"
id="circle1336"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="219"
cy="390"
r="1.6"
id="circle1337"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="194.82381"
cy="376.36371"
r="0.60000002"
id="circle1515"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="192"
cy="370.5"
r="0.60000002"
id="circle1516"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="210.4111"
cy="384.1821"
r="0.60000002"
id="circle1517"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="194.82381"
cy="364.63629"
r="0.60000002"
id="circle1518"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="195.6059"
cy="387.56119"
r="0.60000002"
id="circle1519"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="201.1689"
cy="363.18799"
r="0.60000002"
id="circle1520"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="183.733"
cy="378.09299"
r="0.60000002"
id="circle1521"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="206.25729"
cy="367.24591"
r="0.60000002"
id="circle1522"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="183.733"
cy="362.90701"
r="0.60000002"
id="circle1523"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="206.25729"
cy="373.75409"
r="0.60000002"
id="circle1524"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="195.6059"
cy="353.43881"
r="0.60000002"
id="circle1525"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="201.1689"
cy="377.81201"
r="0.60000002"
id="circle1526"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="210.4111"
cy="356.8179"
r="0.60000002"
id="circle1527"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="222"
cy="369.23001"
r="0.55000001"
id="circle1528"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<circle
cx="222"
cy="371.76999"
r="0.55000001"
id="circle1529"
style="fill:#1a1a1a" />
</g>
</g>
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2516"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2517"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2518"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2519"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2520"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2521"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2522"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2523"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2524"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2525"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2526"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2527"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2528"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2529"
transform="translate(-178.4,-349.4)" />
<g
style="fill:none;stroke:#4d7fc4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2530"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2759"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2760"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2761"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2762"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2940"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2941"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2942"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2943"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2944"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2945"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2946"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2947"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2948"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2949"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2950"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2951"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2952"
transform="translate(-178.4,-349.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2953"
transform="translate(-178.4,-349.4)" />
<rect
style="fill:#1a1a1a;stroke:none;stroke-width:0.365001;stroke-linecap:round;stroke-linejoin:round"
id="rect76"
width="45.350204"
height="42.200001"
x="0"
y="0"
rx="0"
ry="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="45.349998mm"
height="42.200001mm"
viewBox="0 0 45.349998 42.200001"
version="1.1"
id="svg1"
sodipodi:docname="svg-vis-paper-plain-board-outline.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="6.6386364"
inkscape:cx="60.027388"
inkscape:cy="122.84149"
inkscape:window-width="3840"
inkscape:window-height="2091"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#000000;stroke-width:0.365001;stroke-linecap:round;stroke-linejoin:round"
id="rect2"
width="45.349998"
height="42.200001"
x="0"
y="0"
rx="0"
ry="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="45.349998mm"
height="42.200001mm"
viewBox="0 0 45.349998 42.200001"
version="1.1"
id="svg1"
sodipodi:docname="svg-vis-paper-plain-bottom-copper.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="6.6386364"
inkscape:cx="40.821636"
inkscape:cy="110.94146"
inkscape:window-width="3840"
inkscape:window-height="2091"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1379"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1380"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1381"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1382"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1411"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1412"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1413"
transform="translate(-349.4,-121.4)" />
<path
id="path1652"
style="fill:#4d7fc4;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 42.850098 18.830375 A 1 1 0 0 0 41.850159 19.830314 A 1 1 0 0 0 42.850098 20.830253 L 44.349748 20.830253 A 1 1 0 0 0 45.350203 19.830314 A 1 1 0 0 0 44.349748 18.830375 L 42.850098 18.830375 z M 43.599923 19.27996 A 0.55000001 0.55000001 0 0 1 44.14976 19.829797 A 0.55000001 0.55000001 0 0 1 43.599923 20.380151 A 0.55000001 0.55000001 0 0 1 43.050085 19.829797 A 0.55000001 0.55000001 0 0 1 43.599923 19.27996 z M 28.599805 20.699512 A 0.40000001 0.40000001 0 0 0 28.597221 20.700028 A 0.40000001 0.40000001 0 0 0 28.405501 20.751705 A 0.40000001 0.40000001 0 0 0 28.3962 20.756873 A 0.40000001 0.40000001 0 0 0 28.256156 20.896916 A 0.40000001 0.40000001 0 0 0 28.251506 20.905184 A 0.40000001 0.40000001 0 0 0 28.199829 21.100004 A 0.40000001 0.40000001 0 0 0 28.251506 21.294824 A 0.40000001 0.40000001 0 0 0 28.256156 21.303092 A 0.40000001 0.40000001 0 0 0 28.3962 21.443136 A 0.40000001 0.40000001 0 0 0 28.405501 21.448303 A 0.40000001 0.40000001 0 0 0 28.597221 21.49998 A 0.40000001 0.40000001 0 0 0 28.599805 21.500496 L 38.434347 21.500496 L 39.586214 22.652881 A 0.40000001 0.40000001 0 0 0 39.603784 22.666833 A 0.40000001 0.40000001 0 0 0 39.639441 22.695256 A 0.40000001 0.40000001 0 0 0 39.677165 22.719027 A 0.40000001 0.40000001 0 0 0 39.714372 22.736597 A 0.40000001 0.40000001 0 0 0 39.762948 22.75365 A 0.40000001 0.40000001 0 0 0 39.799121 22.761918 A 0.40000001 0.40000001 0 0 0 39.850798 22.767603 A 0.40000001 0.40000001 0 0 0 39.869401 22.76967 L 41.850159 22.76967 L 41.937492 22.76967 A 1 1 0 0 0 41.987101 22.849251 A 1 1 0 0 0 42.055314 22.959322 A 1 1 0 0 0 42.181921 23.096265 A 1 1 0 0 0 42.272355 23.176363 A 1 1 0 0 0 42.456323 23.276099 A 1 1 0 0 0 42.545207 23.317957 A 1 1 0 0 0 42.850098 23.369633 L 44.349748 23.369633 A 1 1 0 0 0 45.350203 22.369694 A 1 1 0 0 0 44.349748 21.369755 L 42.850098 21.369755 A 1 1 0 0 0 42.545207 21.421431 A 1 1 0 0 0 42.454773 21.463806 A 1 1 0 0 0 42.273389 21.561991 A 1 1 0 0 0 42.181405 21.64364 A 1 1 0 0 0 42.054797 21.781099 A 1 1 0 0 0 41.988652 21.887036 A 1 1 0 0 0 41.937492 21.969202 L 41.850159 21.969202 L 40.035282 21.969202 L 38.883415 20.816817 A 0.40000001 0.40000001 0 0 0 38.875663 20.810616 A 0.40000001 0.40000001 0 0 0 38.871529 20.806999 A 0.40000001 0.40000001 0 0 0 38.816235 20.76359 A 0.40000001 0.40000001 0 0 0 38.813652 20.761523 A 0.40000001 0.40000001 0 0 0 38.811584 20.76049 A 0.40000001 0.40000001 0 0 0 38.801766 20.755839 A 0.40000001 0.40000001 0 0 0 38.747506 20.728967 A 0.40000001 0.40000001 0 0 0 38.742855 20.7269 A 0.40000001 0.40000001 0 0 0 38.724768 20.719666 A 0.40000001 0.40000001 0 0 0 38.719084 20.718115 A 0.40000001 0.40000001 0 0 0 38.656038 20.704163 A 0.40000001 0.40000001 0 0 0 38.651904 20.703129 A 0.40000001 0.40000001 0 0 0 38.62865 20.701579 A 0.40000001 0.40000001 0 0 0 38.600228 20.699512 L 28.599805 20.699512 z M 28.599805 20.900016 A 0.2 0.2 0 0 1 28.799792 21.100004 A 0.2 0.2 0 0 1 28.599805 21.299992 A 0.2 0.2 0 0 1 28.399817 21.100004 A 0.2 0.2 0 0 1 28.599805 20.900016 z M 43.599923 21.819857 A 0.55000001 0.55000001 0 0 1 44.14976 22.370211 A 0.55000001 0.55000001 0 0 1 43.599923 22.920048 A 0.55000001 0.55000001 0 0 1 43.050085 22.370211 A 0.55000001 0.55000001 0 0 1 43.599923 21.819857 z " />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2411"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2412"
transform="translate(-349.4,-121.4)" />
<g
style="fill:none;stroke:#4d7fc4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2413"
transform="translate(-349.4,-121.4)" />
<g
style="fill:none;stroke:#4d7fc4;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2662"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2803"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2804"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2805"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2806"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2835"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2836"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2837"
transform="translate(-349.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1359"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1360"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1361"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1362"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1408"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1409"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1410"
transform="translate(-292.4,-121.4)" />
<g
style="fill:none;stroke:#4d7fc4;stroke-width:0.8;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1651"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2408"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#4d7fc4;fill-opacity:1;stroke:none"
id="g2409"
transform="translate(-292.4,-121.4)" />
<g
style="fill:none;stroke:#4d7fc4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2410"
transform="translate(-292.4,-121.4)" />
<g
style="fill:none;stroke:#4d7fc4;stroke-width:0.8;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2659"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2783"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2784"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2785"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2786"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2832"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2833"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2834"
transform="translate(-292.4,-121.4)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="45.349998mm"
height="42.200001mm"
viewBox="0 0 45.349998 42.200001"
version="1.1"
id="svg1"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
sodipodi:docname="svg-vis-paper-plain-vias.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="6.6386364"
inkscape:cx="60.102704"
inkscape:cy="110.94146"
inkscape:window-width="3840"
inkscape:window-height="2091"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1379"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1380"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1381"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1382"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1411"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1412"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1413"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#c83434;fill-opacity:1;stroke:none"
id="g2597"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#c83434;fill-opacity:1;stroke:none"
id="g2598"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:none;stroke:#c83434;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2599"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:none;stroke:#c83434;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2848"
transform="translate(-349.4,-134.36458)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1359"
transform="translate(-292.4,-121.4)">
<path
id="circle1358"
d="M 293.9999 121.4 A 1.6 1.6 0 0 0 292.4 122.9999 A 1.6 1.6 0 0 0 293.9999 124.5998 A 1.6 1.6 0 0 0 295.5998 122.9999 A 1.6 1.6 0 0 0 293.9999 121.4 z M 333.00011 121.4 A 1.6 1.6 0 0 0 331.4002 122.9999 A 1.6 1.6 0 0 0 333.00011 124.5998 A 1.6 1.6 0 0 0 334.60001 122.9999 A 1.6 1.6 0 0 0 333.00011 121.4 z M 335.99992 140.67996 A 0.55000001 0.55000001 0 0 0 335.45009 141.2298 A 0.55000001 0.55000001 0 0 0 335.99992 141.78015 A 0.55000001 0.55000001 0 0 0 336.54976 141.2298 A 0.55000001 0.55000001 0 0 0 335.99992 140.67996 z M 320.9998 142.30002 A 0.2 0.2 0 0 0 320.79982 142.5 A 0.2 0.2 0 0 0 320.9998 142.69999 A 0.2 0.2 0 0 0 321.19979 142.5 A 0.2 0.2 0 0 0 320.9998 142.30002 z M 335.99992 143.21986 A 0.55000001 0.55000001 0 0 0 335.45009 143.77021 A 0.55000001 0.55000001 0 0 0 335.99992 144.32005 A 0.55000001 0.55000001 0 0 0 336.54976 143.77021 A 0.55000001 0.55000001 0 0 0 335.99992 143.21986 z M 293.9999 160.4002 A 1.6 1.6 0 0 0 292.4 162.00011 A 1.6 1.6 0 0 0 293.9999 163.60001 A 1.6 1.6 0 0 0 295.5998 162.00011 A 1.6 1.6 0 0 0 293.9999 160.4002 z M 333.00011 160.4002 A 1.6 1.6 0 0 0 331.4002 162.00011 A 1.6 1.6 0 0 0 333.00011 163.60001 A 1.6 1.6 0 0 0 334.60001 162.00011 A 1.6 1.6 0 0 0 333.00011 160.4002 z "
style="fill:#000000" />
</g>
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1360"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1361"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1362"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1408"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1409"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#d0d2cd;fill-opacity:1;stroke:none"
id="g1410"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#c83434;fill-opacity:1;stroke:none"
id="g2594"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#c83434;fill-opacity:1;stroke:none"
id="g2595"
transform="translate(-292.4,-121.4)" />
<g
style="fill:none;stroke:#c83434;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2596"
transform="translate(-292.4,-121.4)" />
<g
style="fill:none;stroke:#c83434;stroke-width:0.8;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g2845"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2970"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2971"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g2972"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g3018"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g3019"
transform="translate(-292.4,-121.4)" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="g3020"
transform="translate(-292.4,-121.4)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

250
svg-vis-paper.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -1,5 +1,6 @@
#!/usr/bin/env python3
import warnings
import subprocess
import sys
import math
@ -605,6 +606,8 @@ def print_valid_twists(ctx, param, value):
@click.option('--outer-diameter', type=float, default=50, help='Outer diameter [mm]')
@click.option('--svg-out', type=click.Path(writable=True, dir_okay=False, path_type=Path), help='Filename to output SVG illustration of the coil to')
@click.option('--inner-diameter', type=float, default=25, help='Inner diameter [mm]')
@click.option('--stagger-inner-vias/--no-stagger-inner-vias', default=False, help='Stagger inner via ring')
@click.option('--stagger-outer-vias/--no-stagger-outer-vias', default=False, help='Stagger outer via ring')
@click.option('--trace-width', type=float, default=None)
@click.option('--via-diameter', type=float, default=0.6)
@click.option('--two-layer/--single-layer', default=True)
@ -617,7 +620,6 @@ def print_valid_twists(ctx, param, value):
@click.option('--twists', type=int, default=1, help='Number of twists per revolution. Note that this number must be co-prime to the number of turns. Run with --show-twists to list valid values. (default: 1)')
@click.option('--circle-segments', type=int, default=64, help='When not using arcs, the number of points to use for arc interpolation per 360 degrees.')
@click.option('--show-twists', callback=print_valid_twists, expose_value=False, type=int, is_eager=True, help='Calculate and show valid --twists counts for the given number of turns. Takes the number of turns as a value.')
@click.option('--close-loop', is_flag=True, help='Close coil loop for simulation meshes')
@click.option('--clearance', type=float, default=None)
@click.option('--arc-tolerance', type=float, default=0.02)
@click.option('--mesh-split-out', type=click.Path(writable=True, dir_okay=False, path_type=Path))
@ -635,7 +637,7 @@ def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_d
footprint_name, layer_pair, twists, clipboard, counter_clockwise, keepout_zone, keepout_margin,
arc_tolerance, pcb, mesh_out, magneticalc_out, circle_segments, mesh_split_out, copper_thickness,
board_thickness, mesh_mutual_out, mutual_offset_x, mutual_offset_y, mutual_offset_z, mutual_rotation_z,
two_layer, svg_out, close_loop):
two_layer, svg_out, stagger_inner_vias, stagger_outer_vias):
if 'WAYLAND_DISPLAY' in os.environ:
copy, paste, cliputil = ['wl-copy'], ['wl-paste'], 'xclip'
@ -643,7 +645,10 @@ def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_d
copy, paste, cliputil = ['xclip', '-i', '-sel', 'clipboard'], ['xclip', '-o', '-sel' 'clipboard'], 'wl-clipboard'
if gcd(twists, turns) != 1:
raise click.ClickException('For the geometry to work out, the --twists parameter must be co-prime to --turns, i.e. the two must have 1 as their greatest common divisor. You can print valid values for --twists by running this command with --show-twists [turns number].')
raise click.ClickException(f'For the geometry to work out, the --twists parameter must be co-prime to --turns, i.e. the two must have 1 as their greatest common divisor. You can print valid values for --twists by running this command with --show-twists [turns number]. Right now, both are divisible by {gcd(twists, turns)}.')
if (stagger_inner_vias or stagger_outer_vias) and twists%2 != 0:
raise click.ClickException('For --stagger-inner/outer-vias to work, --twists must be even and --turns must be odd.')
if (mesh_out or mesh_split_out or mesh_mutual_out) and not pcb:
raise click.ClickException('--pcb is required when --mesh-out, --mesh-mutual-out or --mesh-split-out are used.')
@ -708,9 +713,9 @@ def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_d
print(f' {degrees(outer_via_angle):.1f} deg / via', file=sys.stderr)
# Check if the vias of the inner ring are so large that they would overlap
if inner_via_angle*twists > 2*pi:
min_dia = 2*((via_diameter + clearance) / (2*sin(pi / twists)) + via_offset)
raise click.ClickException(f'Error: Overlapping vias in inner via ring. Calculated minimum inner diameter is {min_dia:.2f} mm.')
if inner_via_angle*twists > (4*pi if stagger_inner_vias else 2*pi):
min_dia = 2*((via_diameter + clearance) / (2*sin(pi / twists * (2 if stagger_inner_vias else 1))) + via_offset)
warnings.warn(f'Overlapping vias in inner via ring. Calculated minimum inner diameter is {min_dia:.2f} mm.')
pitch = clearance + trace_width
t, _, b = layer_pair.partition(',')
@ -862,7 +867,7 @@ def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_d
x = inverse[i]*floor(2*sweeping_angle / (2*pi)) * 2*pi
(x0, y0), (xn, yn), clen = do_spiral(0, outer_radius, inner_radius, start_angle, fold_angle, (x + start_angle)/total_angle, (x + fold_angle)/total_angle, circle_segments)
if two_layer:
do_spiral(1, inner_radius, outer_radius, fold_angle, end_angle, (x + fold_angle)/total_angle, (x + end_angle)/total_angle)
do_spiral(1, inner_radius, outer_radius, fold_angle, end_angle, (x + fold_angle)/total_angle, (x + end_angle)/total_angle, circle_segments)
else:
dr = outer_radius - inner_radius
xq = xn + cos(fold_angle) * dr
@ -875,7 +880,11 @@ def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_d
path.move(xn, yn)
path.line(xq, yq)
xv, yv = inner_via_ring_radius*cos(fold_angle), inner_via_ring_radius*sin(fold_angle)
r = inner_via_ring_radius
if stagger_inner_vias:
if i%2 != 0:
r -= 2*via_offset
xv, yv = r*cos(fold_angle), r*sin(fold_angle)
pads.append(make_via(xv, yv, layer_pair))
if not isclose(via_offset, 0, abs_tol=1e-6):
lines.append(make_line(xn, yn, xv, yv, layer_pair[0]))
@ -883,8 +892,12 @@ def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_d
svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_diameter/2, stroke='none', fill='white'))
svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_drill/2, stroke='none', fill='black'))
if i > 0 or close_loop:
xv, yv = outer_via_ring_radius*cos(start_angle), outer_via_ring_radius*sin(start_angle)
if i > 0:
r = outer_via_ring_radius
if stagger_outer_vias:
if i%2 != 0:
r += 2*via_offset
xv, yv = r*cos(start_angle), r*sin(start_angle)
pads.append(make_via(xv, yv, layer_pair))
if not isclose(via_offset, 0, abs_tol=1e-6):
lines.append(make_line(x0, y0, xv, yv, layer_pair[0]))
@ -892,7 +905,7 @@ def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_d
svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_diameter/2, stroke='none', fill='white'))
svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_drill/2, stroke='none', fill='black'))
l_total = clen*twists*2
l_total = clen*twists*(2 if two_layer else 1)
print(f'Approximate track length: {l_total:.2f} mm', file=sys.stderr)
A = copper_thickness/1e3 * trace_width/1e3
rho = 1.68e-8

64674
wide_coil_1.kicad_pcb Normal file

File diff suppressed because it is too large Load diff

136
wide_coil_1.kicad_prl Normal file
View file

@ -0,0 +1,136 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40,
41
],
"visible_layers": "ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "wide_coil_1.kicad_prl",
"version": 4
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

276
wide_coil_1.kicad_pro Normal file
View file

@ -0,0 +1,276 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "wide_coil_1.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "gerber_wide_1",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"legacy_lib_dir": "",
"legacy_lib_list": []
},
"sheets": [],
"text_variables": {}
}

441290
wide_coil_2.kicad_pcb Normal file

File diff suppressed because it is too large Load diff

136
wide_coil_2.kicad_prl Normal file
View file

@ -0,0 +1,136 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40,
41
],
"visible_layers": "ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "wide_coil_2.kicad_prl",
"version": 4
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

276
wide_coil_2.kicad_pro Normal file
View file

@ -0,0 +1,276 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "wide_coil_2.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "gerber_wide_2",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"legacy_lib_dir": "",
"legacy_lib_list": []
},
"sheets": [],
"text_variables": {}
}

459350
wide_coil_3.kicad_pcb Normal file

File diff suppressed because it is too large Load diff

136
wide_coil_3.kicad_prl Normal file
View file

@ -0,0 +1,136 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40,
41
],
"visible_layers": "ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "wide_coil_3.kicad_prl",
"version": 4
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

276
wide_coil_3.kicad_pro Normal file
View file

@ -0,0 +1,276 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "wide_coil_3.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "gerber_wide_3",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"legacy_lib_dir": "",
"legacy_lib_list": []
},
"sheets": [],
"text_variables": {}
}

481410
wide_coil_4.kicad_pcb Normal file

File diff suppressed because it is too large Load diff

136
wide_coil_4.kicad_prl Normal file
View file

@ -0,0 +1,136 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40,
41
],
"visible_layers": "ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "wide_coil_4.kicad_prl",
"version": 4
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

276
wide_coil_4.kicad_pro Normal file
View file

@ -0,0 +1,276 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "wide_coil_4.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "gerber_wide_4",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"legacy_lib_dir": "",
"legacy_lib_list": []
},
"sheets": [],
"text_variables": {}
}

424596
wide_coil_5.kicad_pcb Normal file

File diff suppressed because it is too large Load diff

136
wide_coil_5.kicad_prl Normal file
View file

@ -0,0 +1,136 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40,
41
],
"visible_layers": "ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "wide_coil_5.kicad_prl",
"version": 4
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

276
wide_coil_5.kicad_pro Normal file
View file

@ -0,0 +1,276 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "wide_coil_5.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "gerber_wide_5",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"legacy_lib_dir": "",
"legacy_lib_list": []
},
"sheets": [],
"text_variables": {}
}