Read Me
simulation program for distributed circuit
Copyright (C) 2012 DEE THU
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
This is a simulator for 3D distributed circuit based on GNU Octave.
It reads a netlist describing distributed circuit parameters, stimuli,
analysis types (op, ac, tran), and output controls (plot, plot3).
It can also export distributed circuit to Ngspice netlist and import
the corresponding Ngspice simulation result.
1. Download Latest Version
You can download the latest release at the project page of sourceforge:
http://sourceforge.net/projects/spdc
2. Compatibility
This program consists of Octave scripts and a few Bash/Gawk scripts,
thus it is OS portable at least on recent GNU/Linux distributions.
It has been tested on Ubuntu 12.04.1 LTS Precise Pangolin (32 & 64 bit).
3. Preliminaries
This program needs the following programs to execute. They are provided
as packages on Debian and Ubuntu distributions.
* GNU Octave >= 3.2 (Debian package: octave)
* Ngspice >= 20 (optional) (Debian package: ngspice)
4. Install
You can execute the program 'src/spdc' directly without installing it,
or you can use the following shell script to guide you to install it.
$ [sudo] ./setup.sh
5. Execution Commands
You can use the following shell command to execute this program.
$ spdc [octave-options] [your-circuit-netlist-file]
6. User Manual
A separate user manual is available in the directory 'doc/'.
There are also several netlist examples in the directory 'examples/'.
If you need more details, please use the 'sp_help' command in the
Octave interpreter after you start this program.
7. Known Issues
* Current versions of GNU Octave (<= 3.6) cannot solve sparse matrix
linear equations with size >= about 1e+5, so large cuboid size of
circuit simulation will fail.
* Current versions of GNU Octave (<=3.6) function 'quiver3' does not
support ";title;" legend like function 'plot', so the legend of 3D
distributions plot is now implemented with a dummy 'plot3'.