This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
geda:circuit_simulation_improvements [2014/04/18 10:59] vzh Add link to Russian translation |
geda:circuit_simulation_improvements [2014/04/26 03:43] (current) vzh Make the symbols in appendix downloadable |
||
---|---|---|---|
Line 1: | Line 1: | ||
//Translations of this page are also available in the following languages:// [[circuit_simulation_improvements.ru|Русский]]. | //Translations of this page are also available in the following languages:// [[circuit_simulation_improvements.ru|Русский]]. | ||
- | ====== Circuit simulation improvements in gschem ====== | + | ====== Circuit simulation improvements in gschem ====== |
===== Rationale ===== | ===== Rationale ===== | ||
Using gschem as a circuit simulation (ngspice or gnucap) frontend is not easy for novice users. A new user would like to do the following things inside gschem: | Using gschem as a circuit simulation (ngspice or gnucap) frontend is not easy for novice users. A new user would like to do the following things inside gschem: | ||
- | * specify what kinds of simulations should be run | + | * specify what kinds of simulations should be run |
- | * specify which voltages and currents should be plotted | + | * specify which voltages and currents should be plotted |
- | * start the simulation | + | * start the simulation |
- | The simulation runs and the postprocessing may be in an external programm that is triggered by IPC. | + | The simulation runs and the postprocessing may be in an external program that is triggered by IPC. |
There are some graphical frontends around but they can't solve all of the above problems | There are some graphical frontends around but they can't solve all of the above problems | ||
- | * [[http://www.geda.seul.org/tools/gspiceui/index.html|gspiceui]] | + | * [[http://www.geda.seul.org/tools/gspiceui/index.html|gspiceui]] |
- | * [[http://www.comefly.us/|kjwaves]] | + | * [[http://www.comefly.us/|kjwaves]] |
- | * [[http://easy-spice.sourceforge.net/|easyspice]] | + | * [[http://easy-spice.sourceforge.net/|easyspice]] |
All frontends have the problem that you can not point to the net you'd like to see. You need to know the netname of the node. | All frontends have the problem that you can not point to the net you'd like to see. You need to know the netname of the node. | ||
Line 33: | Line 33: | ||
==== Voltage and current sources ==== | ==== Voltage and current sources ==== | ||
Specifying the parameters of sources is not that easy. Currently they are stored inside the "value" attribute of the symbol. | Specifying the parameters of sources is not that easy. Currently they are stored inside the "value" attribute of the symbol. | ||
- | eg. "value=pulse 0 1 10n 10n 100n 1u 2u". These settings needs to match the spice attributes "pulse(V1 V2 TD TR TF PW PER)". | + | e.g. "value=pulse 0 1 10n 10n 100n 1u 2u". These settings needs to match the spice attributes "pulse(V1 V2 TD TR TF PW PER)". |
A dialog would be nice that prompts the user for the named attributes and not only for the value string. | A dialog would be nice that prompts the user for the named attributes and not only for the value string. | ||
- | A modified edit attribute (ee) command could take care of voltage and current source devices and trigger a different property dialog for that sources. Currently the multiattrib edit dialog is triggered. | + | A modified edit attribute (<key>e</key><key>e</key>) command could take care of voltage and current source devices and trigger a different property dialog for that sources. Currently the multiattrib edit dialog is triggered. |
==== The simulations ==== | ==== The simulations ==== | ||
How can we store a simulation inside gschem. | How can we store a simulation inside gschem. | ||
- | To store one simulation we can use a symbol with the devicename "SIMULATION". | + | To store one simulation we can use a symbol with the device name "SIMULATION". |
All options that define one simulation are stored as attributes attached to that object. | All options that define one simulation are stored as attributes attached to that object. | ||
* kind of simulation (dc, ac, tran, ...) | * kind of simulation (dc, ac, tran, ...) | ||
Line 89: | Line 89: | ||
When creating that dialog all simulation objects are collected into the simulation list (listview with enable/disable checkbutton) | When creating that dialog all simulation objects are collected into the simulation list (listview with enable/disable checkbutton) | ||
- | When changing the settings the attributes of the assosiated simulation object are changed. | + | When changing the settings the attributes of the associated simulation object are changed. |
Line 100: | Line 100: | ||
* only save voltage nodes of the current schematic level or store subcircuit node voltages, too. | * only save voltage nodes of the current schematic level or store subcircuit node voltages, too. | ||
- | ==== Invoking the simulation ==== | + | ==== Invoking the simulation ==== |
The simulation button of the dialog should lead to the following actions: | The simulation button of the dialog should lead to the following actions: | ||
* save the schematic (ask the user or use a temporary file?) | * save the schematic (ask the user or use a temporary file?) | ||
Line 110: | Line 110: | ||
===== Appendix ===== | ===== Appendix ===== | ||
- | ==== A current probe symbol (draft) ==== | + | ==== A voltage probe symbol (draft) ==== |
- | <code> | + | <code gschem-symbol voltage_probe.sym> |
v 20061020 1 | v 20061020 1 | ||
P 0 0 200 200 1 0 0 | P 0 0 200 200 1 0 0 | ||
Line 137: | Line 137: | ||
</code> | </code> | ||
- | ==== A voltage probe symbol (draft) ==== | + | ==== A current probe symbol (draft) ==== |
- | <code> | + | <code gschem-symbol current_probe.sym> |
v 20061020 1 | v 20061020 1 | ||
P 0 200 150 200 1 0 0 | P 0 200 150 200 1 0 0 | ||
Line 175: | Line 175: | ||
==== Another current probe symbol used by Kurt Peters ==== | ==== Another current probe symbol used by Kurt Peters ==== | ||
- | <code> | + | <code gschem-symbol ammeter.sym> |
v 20061020 1 | v 20061020 1 | ||
T 700 650 8 10 1 1 0 0 1 | T 700 650 8 10 1 1 0 0 1 |