reda-spice

Crates.ioreda-spice
lib.rsreda-spice
version0.1.0
created_at2025-08-11 13:43:35.769612+00
updated_at2025-08-11 13:43:35.769612+00
descriptionSpice simulate and parse library
homepage
repositoryhttps://github.com/MoleSir/reda.git
max_upload_size
id1790188
size1,528,959
(MoleSir)

documentation

README

reda-spice

Simulate Electronic Circuit using Rust and the Ngspice Simulators.

Aim to replace PySpice :)

Features

Simulate

  • .sp file parse

  • NgSpice dynamtic library simulator

  • NgSpice server simulator

  • Execute op, dc and tran analysis

  • Analysis draw

  • Spice library

  • .param and .option

Examples

let mut circuit = Circuit::new("Transient sin");

circuit.add_sine_voltage("input", "in", "0", SineVoltage::sin(u!(1 V), u!(100 Hz)));
circuit.add_resistor("1", "in", "1", u!(3 kΩ));
circuit.add_resistor("2", "1", "0", u!(1 kΩ));

let simulate = NgSpiceShared::default()?;
let mut simulator = circuit.simulator(simulate);
let command = TranCommandBuilder::default()
    .t_stop(u!(0.02 s))
    .t_step(u!(1 us))
    .build().unwrap();
let analysis = simulator.run_tran(&command)?;

analysis.draw_nodes(&Drawer::default(), &["in"], "./images/transient-sin-nodes.png")?;
analysis.draw_all_branchs(&Drawer::default(), "./images/transient-sin-branchs.png")?;

References

Commit count: 0

cargo fmt