All Projects → SpiceSharp → SpiceSharp

SpiceSharp / SpiceSharp

Licence: MIT license
Spice# is a cross-platform electronic circuit simulator based on Berkeley Spice - the mother of commercial industry-standard circuit simulators.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to SpiceSharp

Fluentftp
An FTP and FTPS client for .NET & .NET Standard, optimized for speed. Provides extensive FTP commands, File uploads/downloads, SSL/TLS connections, Automatic directory listing parsing, File hashing/checksums, File permissions/CHMOD, FTP proxies, FXP support, UTF-8 support, Async/await support, Powershell support and more. Written entirely in C#,…
Stars: ✭ 1,943 (+1230.82%)
Mutual labels:  net-standard, net-core, net-framework
Youtubeexplode
The ultimate dirty YouTube library
Stars: ✭ 1,775 (+1115.75%)
Mutual labels:  net-standard, net-core, net-framework
Opengl.net
Modern OpenGL bindings for C#.
Stars: ✭ 473 (+223.97%)
Mutual labels:  nuget, net-core, net-framework
SpotifyWebApi
A .net core wrapper for the Spotify Web API
Stars: ✭ 19 (-86.99%)
Mutual labels:  nuget, net-core, net-framework
Extensions
My .NET extensions
Stars: ✭ 29 (-80.14%)
Mutual labels:  net-standard, net-core, net-framework
Standard-Toolkit
An update to Component factory's krypton toolkit to support .NET Framework 4.6.2 - 4.8.1 to .NET Core/.NET
Stars: ✭ 194 (+32.88%)
Mutual labels:  nuget, net-framework
Wpfdesigner
The WPF Designer from SharpDevelop
Stars: ✭ 479 (+228.08%)
Mutual labels:  nuget, net-framework
Krypton Net 5.470
A update to Component factory's krypton toolkit to support the .NET 4.7 framework.
Stars: ✭ 79 (-45.89%)
Mutual labels:  nuget, net-framework
cadru
A Microsoft .NET Framework toolkit
Stars: ✭ 58 (-60.27%)
Mutual labels:  net-standard, net-core
X.pagedlist
Library for easily paging through any IEnumerable/IQueryable in ASP.NET/ASP.NET Core
Stars: ✭ 625 (+328.08%)
Mutual labels:  nuget, net-core
open-electronics
📚 💻 Great Resources for Electronics Enthusiasts
Stars: ✭ 347 (+137.67%)
Mutual labels:  electronics, circuit
antares
Digital circuit learning platform
Stars: ✭ 15 (-89.73%)
Mutual labels:  simulator, circuit
OpenCircuits
A free, open source, online digital circuit/logic designer.
Stars: ✭ 140 (-4.11%)
Mutual labels:  simulator, circuit
PocoDynamo
C# .NET Typed POCO Client for AWS Dynamo DB
Stars: ✭ 39 (-73.29%)
Mutual labels:  net-core, net-framework
SharpGrabber
Download from YouTube, Vimeo, PornHub, HLS (M3U8 files) with .NET and JavaScript, Library and desktop app for downloading high quality media
Stars: ✭ 138 (-5.48%)
Mutual labels:  net-standard, net-core
Weixinmpsdk
微信全平台 SDK Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 6.0。已支持微信公众号、小程序、小游戏、企业号、企业微信、开放平台、微信支付、JSSDK、微信周边等全平台。 WeChat SDK for C#.
Stars: ✭ 7,098 (+4761.64%)
Mutual labels:  nuget, net-core
Servicestack.redis
.NET's leading C# Redis Client
Stars: ✭ 2,236 (+1431.51%)
Mutual labels:  net-core, net-framework
mathcore
Advanced .NET math library (.NET Standard).
Stars: ✭ 24 (-83.56%)
Mutual labels:  nuget, net-standard
Xyce
The Xyce™ Parallel Electronic Simulator
Stars: ✭ 195 (+33.56%)
Mutual labels:  simulator, spice
Krypton-Toolkit-Suite-Extended-NET-5.470
An extension to the Krypton Toolkit suite of controls for .NET framework 4.7
Stars: ✭ 51 (-65.07%)
Mutual labels:  nuget, net-framework

Spice# (SpiceSharp)

Spice# is a Spice circuit simulator written in C#. The framework is made to be compatible with the original Berkeley Spice simulator, but bugs have been squashed and features can and will probably will be added.

Documentation

You can find documentation at https://spicesharp.github.io/SpiceSharp/. There you can find a guide for getting started, as well as more information about:

  • Supported types of analysis.
  • The general structure of Spice#.
  • A tutorial on how to implement your own custom model equations (prerequisite knowledge needed).
  • An example of changing parameters during simulation.
  • etc.

Quickstart

Simulating a circuit is relatively straightforward. For example:

using System;
using SpiceSharp;
using SpiceSharp.Components;
using SpiceSharp.Simulations;

namespace SpiceSimulation
{
    class Program
    {
        static void Main(string[] args)
        {
            // Build the circuit
            var ckt = new Circuit(
                new VoltageSource("V1", "in", "0", 0.0),
                new Resistor("R1", "in", "out", 1.0e3),
                new Resistor("R2", "out", "0", 2.0e3)
                );

            // Create a DC sweep and register to the event for exporting simulation data
            var dc = new DC("dc", "V1", 0.0, 5.0, 0.001);
            dc.ExportSimulationData += (sender, exportDataEventArgs) =>
            {
                Console.WriteLine(exportDataEventArgs.GetVoltage("out"));
            };

            // Run the simulation
            dc.Run(ckt);
        }
    }
}

Most standard Spice-components are available, and building your own custom components is also possible!

Installation

Spice# is available as a NuGet Package.

NuGet Badge SpiceSharp

Current build status

Status
Windows Windows Tests
MacOS MacOS Tests
Linux/Ubuntu Linux Tests

Aim of Spice#?

Spice# aims to be:

  • A Library rather than a standalone piece of software like most simulators currently are.
  • Accessible for both the amateur and advanced electronics enthusiast (and perhaps professional designer). In order to decrease the hurdle, a Spice# parser is also being developed. This also includes it being cross-platform (.NET and Mono).
  • Compatible with the original Spice 3f5 software (without the bugs). There's a reason why this has become the industry standard.
  • Customizable with custom simulations, custom models, integration methods, solver, etc.
  • Performance, but still completely managed code. Nobody wants a slow simulator.

What Spice# is not

Having been implemented in the .NET framework does have some limitations:

  • Unmanaged C/C++ code can often be optimized more than managed code.
  • Spice# uses Reflection to give you a better experience. However if you decide to use reflection, you may feel some performance hit.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].