https://github.com/rzikm/nextgenspice
My Bachelor Thesis project at Faculty of Mathematics and Physics
https://github.com/rzikm/nextgenspice
Last synced: 2 months ago
JSON representation
My Bachelor Thesis project at Faculty of Mathematics and Physics
- Host: GitHub
- URL: https://github.com/rzikm/nextgenspice
- Owner: rzikm
- License: mit
- Created: 2018-06-07T09:32:53.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-02T18:09:04.000Z (about 6 years ago)
- Last Synced: 2025-01-31T10:13:09.897Z (4 months ago)
- Language: C#
- Size: 7.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.TXT
Awesome Lists containing this project
README
# NextGen SPICE
An extensible SPICE-like electrical circuit simulator implemented in .NET. This project originated as my
Bachelor Thesis at Faculty of Mathematics and Physics. The thesis text is available here TODO:## Features
NextGen SPICE supports a subset of various SPICE3 features:### Supported devices
- Resistors
- Volatge and Current sources
- possibly voltage/current controlled
- Capacitors, inductors
- Diode
- BJT Transistor
- Subcircuits### Supported analyses
- Large-signal analyses:
- Operating Point
- Transient### SPICE netlist parser
- (basic) statements for supported devices### Other features:
- Possibility to select between 64 and 128-bit precision type for computation
- Ability to extend or replace implementation of devices for individual circuit analyses
- Ability to define custom circuit analysis type
- Constructing circuits programmatically
- Application in electrical circuit evolution possible both for circuit parameters and circuit topology
- Standalone application providing SPICE-like console interface to the simulator (see Documentation
TODO)## Installing
The NextGen SPICE project is split into several projects and packages. Reference them based on the
required functionality:
- **NextGenSpice.Core, NextGenSpice.Numerics** - mandatory - definiton of basic types
- **NextGenSpice.Parser** - parsing of the SPICE netlist
- **NextGenSpice.LargeSignal** - implementation of large-signal analyses
**Important!** Currently, the simulator uses a C++ implementation of some numeric procedures for
greater speed and support for 128-bit precision. This will improve in the future once better
equation solver is implemented and the double-double type is implemented natively in .NET.## Usage
See Tutorials section TODO:
## Roadmap
- online API documentation via DocFx
- move tutorials from thesis into DocFx documentation
- Use more appropriate methods for sparse matrix representation and sparse matrix solver
- ? implement double-double arithmetic in C# in order to drop dependency on native code
- Add tweaks to improve simulation convergencce
- Add new devices
- Add new analysis types