Skip to main content

Samu

A simple coplanar metal stripline electrical cross-talk 2.5D extractor.

Install

PySpice and NgSpice

This tool's GUI relies on PySpice Python lib. and the NgSpice open source SPICE simulator for generating accurate lumped-element circuit model simulations of the channel crosstalk between coplanar strips.

For that, it is required to install NgSpice.

On MacOS using Homebrew:

brew install libngspice

On Linux:

sudo apt install libngspice0

On Windows:

pyspice-post-installation --install-ngspice-dll

and then check installation (because with Windows, you never know...)

pyspice-post-installation --check-install

Install tool using pip

pip install samu

Usage

The tool requires a single input YAML file:

samu example_setup.yml -g

The input setup file contains a description of the dielectric emersing the coplanar metal strips and the geometry of the setup:

#example_setup.yml

materials:
  poliomide:
    material_type: dielectric
    rel_permittivity: 3.3
    rel_permeability: 1.0

  copper:
    material_type: metal
    resistivity: 1.68e-8 # Ohm.m

geometry:
  units: micro
  metal_width: 3.0
  metal_thickness: 0.5
  separation: 1.0
  strip_length: 3e4 # 3 cm

The -gflag enables visualization of the geometry and the crosstalk results using a GUI.

Visualize results:

In the console:

Reading setup file: data/example_setup.yml...

samu > stamp: 2025-01-31 03:58:14 > results:
Results(
│   resistance=336.0,
│   self_inductance=0.0,
│   mutual_inductance=7.886464596170601e-07,
│   mutual_capacitance=1.8552987505740626e-12,
│   ground_capacitance=0.0
)
Done :-)
TransientSimulationConfig(
│   v1=UnitValue(0 V),
│   v2=UnitValue(1 V),
│   t1=PeriodValue(1 ns),
│   t2=PeriodValue(10 μs),
│   temperature=25,
│   nominal_temperature=25,
│   step_time=1e-11,
│   end_time=1e-06
)

Using the matplotlib-based GUI:

Contribute

If you want to submit changes, keep it simple. Avoid unnecessary comments in the middle of the code - it speaks for itself.

Metadata

Release files for samu 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for samu 0.1.6
File Size Uploaded
samu-0.1.6.tar.gz 3.2 kB Details

Release files / samu-0.1.6.tar.gz

Download URL samu-0.1.6.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c4d97b6cfc4ac51d249da1c5e4a8ee6918109431271c0e42e528080dec8aa632
BLAKE2b-256 checksum
How to use checksums
9caaa5dff47c20ba58499d6d836197a9b5524d0218044035bcc92e44440c61ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.10

Release history Release notifications | RSS feed

This release

0.1.6 This release

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page