Set the Document Settings

Only one of the two simulation data post-processing methods can be active at any one time. To select which check the correct boxes in the Edit File Properties window located under . For example when box open data display after simulation is ticked and box run script after simulation is NOT ticked then the Manual method is selected. Reversing which box is ticked results in selection of the Automatic method of Octave post-simulation data processing.

  1. Right click on the schematic and select
  2. Select tab.

  3. Uncheck checkbox in the dialog.

  4. Check the checkbox in the dialog.

  5. Click to save the changes.

  6. Click to exit the properties dialog.

Deep Dive: Writing Octave Scripts for Post-Analysis

Octave simulation data post-processing scripts are required to undertake a number of basic tasks if they are to successfully extract useful data from simulation performance results: firstly they must be able to read the numerical output data generated by Qucs-S and convert this information into a numerical format which Octave can read and process, secondly they must instruct Octave as to the data processing tasks that it is required to undertake and thirdly they must be able to tabulate, and/or plot the transformed data in a format that can be easily understood by Qucs-S users. How this is done forms the central topic of the next part of this tutorial.

Applying Octave for this purpose is very worth while but does however, require users to be proficient with MATLAB/Octave numerical analysis and programming. The following shows a copy of the Octave post-process output data processing script introduced in the previous section. The Qucs-S Main Dock window displays the files under the list of the project tree.

knowm_mr_pulse.m Octave Script

NOTE: Copies of specific Octave functions written to process script xxxxxx.m are also stored in the current Qucs-S project directory, alongside xxxxxxx.sch schematic files. The Quc-S are installed in the Qucs-S application directory under the sub-directory. You can reference the source for these scripts while working through the following sections.

2.10.2 DC Example 2: Variation of power dissipation with varying DC input voltage.¶

Figure 2.12 DC example 1 with varying DC input voltage: demonstrating the use of a DC sweep simulation.

  • Draw the circuit diagram shown in Figure 2.11,
  • Select simulator Ngspice,
  • Add the dc simulation, Parameter sweep and Nutmeg component icons to the drawn schematic,
  • Complete the Parameter sweep and Nutmeg component data entries so that they are the same as given in Figure 2.11,
  • Press the F2 to simulate the circuit,
  • Plot the graphs illustrated in Figure 2.11,
  • Check that your results are the same — if not or the simulation fails check your schematic for errors and re-simulate.


  • Current probe values are represented by the SPICE 3f5 notation: vpr1#branch and vpr2#branch.
  • There is a discontinuity in Rin when the vpr1#branch current is zero Amperes; hence the need for the dummy 1pA in the Nutmeg equation for Rin.

2.8 Other forms of simulation¶

In contrast to SPICE 3f5, the parameter sweep facility found in Qucs has also been implemented with Ngspice, Xyce and SPICE OPUS where the parameter sweep setup and control
is organized by . The details of how this Parameter sweep feature works is the topic of section 5.8.

As well as the fundamental DC, AC and transient simulation types, Ngspice, Xyce and SPICE OPUS also support the additional forms of simulation listed in Table 2.3.

Table 2.3 simulation types additional to DC, AC and TRAN

Simulation Type Ngspice Xyce SPICE OPUS See section
Fourier X X X 5.1
Distortion X   X 5.2
Noise X X X 5.3
Pole-zero X   X 5.4
Sensitivity X X X 5.5
Harmonic Balance   X   13.5
Tran shooting method     X 13.7
Custom simulation X   X 8.0

13.2 Small signal AC S-parameter simulation¶

S-parameter two port RF and microwave circuit simulation is not implemented in traditional SPICE 2g6 and 3f5 simulators.
This is a serious omission because at RF frequencies S-parameter and other two-port network parameters are widely used in circuit analysis and design.
To overcome this limitation four small signal AC analysis probes have been added to the spice4qucs RF extensions. When combined with signal sources
they form a Two-port S-parameter circuit test bench. This test bench is shown in Figure 13.1. Its main features are space on the test bench
schematic to place the device under test (DUT) circuit diagram, input AC signal sources with \(Z_0\) characteristic impedance, \(Z_0\) load
impedances and the S-parameter measurement probes. Notice that two copies of the DUT are require; firstly to measure \(S_{11}\) and \(S_{12}\) and
secondly \(S_{22}\) and \(S_{21}\). The test bench also includes a detailed set of instructions on how to use it to measure simulated two-port S-parameters.
The two-port S-parameter test bench illustrated in Figure 13.1 will work with the Ngspice, Xyce and SPICE OPUS circuit simulators.

Figure 13.1 A small signal AC S-parameter test bench with S-parameter probes.

The schematic shown in Figure 13.2 demonstrates the use of the S-parameter test bench. In this example two identical copies of a Butterworth passive low pass filter
circuit with \(f_c\) = 100 kHZ and \(Z_0\) = 50 Ohms are connected between the pairs of DUT terminals labelled IN and OUT. Notice that the orientation of both DUT is the same.
The outputs from the S-parameter probes are called , , and being represented as voltages specified by complex numbers. Figure 13.2
also shows typical plots of the magnitudes of the simulated S-parameters. For convenience the test-bench instructions have been deleted from Figure 13.3. Also, if
required the size of the area allocated to each DUT can be changed, provided the test-bench signal and load circuit connections are not changed. Similarly, the value of \(Z_0\)
and the source and load resistors (\(R_1\), \(R_2\), \(R_3\) and \(R_4\) in Figure 13.2) can be changed from 50 Ohms.

2.4 Variable names¶

As part of the extensions Ngspice and Xyce simulation variable names are converted from Qucs
notation to SPICE notation and vica versa. Table 2.1 shows the correspondence between the two notations.

Table 2.1 Qucs and SPICE variable equivalences

Variable type Qucs display notation Spice display notation
DC node voltage Node.V V(node)
AC node voltage Node.v ac.v(node)
TRAN node voltage Node.Vt tran.v(node)
HB node voltage Node.Vb hb.v(node)
DC probe current Pr1.I i(pr1)
AC probe current Pr1.i ac.i(pr1)
TRAN probe current Pr1.It tran.i(pr1)

Also variable prefixes used to designate data from different simulators (Table

Table 2.2 Qucs and SPICE variable name prefixes


  1. Brinson, M. E., and Kuznetsov, V. (2016) A new approach to compact semiconductor device modelling with Qucs Verilog-A analogue module synthesis. Int. J. Numer. Model., 29: 1070-1088. (BibTeX)
  2. D. Tomaszewski, G. Głuszko, M. Brinson, V. Kuznetsov and W. Grabinski, «FOSS as an efficient tool for extraction of MOSFET compact model parameters,» 2016 MIXDES — 23rd International Conference Mixed Design of Integrated Circuits and Systems, Lodz, 2016, pp. 68-73. (BibTeX)
  3. M. Brinson and V. Kuznetsov, «Qucs-0.0.19S: A new open-source circuit simulator and its application for hardware design,» 2016 International Siberian Conference on Control and Communications (SIBCON), Moscow, 2016, pp. 1-5. (BibTeX)
  4. M. Brinson and V. Kuznetsov, «Improvements in Qucs-S equation-defined modelling of semiconductor devices and IC’s,» 2017 MIXDES — 24th International Conference «Mixed Design of Integrated Circuits and Systems, Bydgoszcz, 2017, pp. 137-142.
  5. M. Brinson and V. Kuznetsov, «Extended behavioural device modelling and circuit simulation with Qucs-S» International Journal of Electronics, 2017, pp.1 — 14

Source Download and Compilation

The source code is available as distribution tarballs and clones of the Git repository.

All versions of the code may be accessed by cloning one of the Git repositories (the first is updated more frequently):

Both, qucsator (simulator) and qucs-test (test suite) are provided as Git
submodules. To retrieve the submodules you may

  • clone submodules recursively:
  • or after cloning, do:

After an initial clone operation, the local copy is set by the default as the branch.
Branches can be listed and selected with the following commands:

Compilation and installation depends on the operation system. See below for an example.


Компонент LayOut позволяет осуществлять оформление конструкторской документации на основе моделей, которые были созданы в программе SketchUp.

Сразу после запуска программа предлагает выбрать шаблон для дальнейшей работы. Для этого доступно несколько основных форматов: А3 и А4, книжная или альбомная ориентация листа.

Дополнительно можно указать тип бумаги: разлинованную (со вспомогательными линиями) или обычную, белую (в дальнейшем фон заливки можно будет изменить).
Интерфейс состоит из нескольких основных областей:

  1. Меню, расположенное в верхней части экрана.
  2. Рабочая область, расположенная по центру.
  3. Панели инструментов, расположенные вокруг рабочей области.
  4. Лоток по умолчанию, расположенный в правой части экрана.


В самой верхней части программы располагается Меню, которое позволяет получить быстрый доступ к основным функциям программы.

Оно состоит из таких пунктов, как:

  1. Файл. Для осуществления простейших операций с документами. Позволяет открывать, сохранять и загружать 3D модели. Здесь же, в меню «Настройки страницы» можно изменить тип и формат бумаги, изменить ориентацию листа на книжную или альбомную.
  2. Изменить. Для быстрого доступа к операциям для редактирования текущего документа. Включает такие операции, как отменить, вернуть, копировать, вставить. Здесь же находится меню «Параметры приложения», где можно настроить редактор изображений, текста и таблиц по умолчанию, изменить или добавить горячие клавиши для быстрого доступа к нужным компонентам программы. Выбрать настройки для запуска.
  3. Вид. Позволяет изменять масштаб рабочей области, активировать сетку, включать режим панорамы, использовать символы предупреждения.
  4. Текст. Для работы с надписями. Можно менять формат текста (курсив, полужирный, подчеркнутый, зачеркнутый). Осуществлять выравнивание, менять межстрочный интервал.
  5. Упорядочить. Для удобной работы со слоями. Здесь же можно включить или выключить привязку объектов к сетке.
  6. Инструменты. Перечень доступных для работы с файлом инструментов.
  7. Страницы. Позволяет удалять или добавлять страницы, перемещаться между уже созданными.
  8. Окно. Для управления элементами, находящимися в меню «Лоток по умолчанию», расположенном в правой части экрана.
  9. Справка. Для быстрого доступа к справочной информации.

Лоток по умолчанию

Панель инструментов, расположенная под «Меню» включает в себя основные для редактирования компоненты. При необходимости ее можно удалить или переместить в другое место на экране.

Лоток по умолчанию помогает быстро настраивать рабочую область, поменять цвет фона, толщину линий и другие необходимые параметры.

По умолчанию включает в себя:

  1. Цвета. Доступен выбор необходимого оттенка при помощи пипетки, используя схемы RGB, HSB, Оттенки серого, Изображение, Список. Здесь же можно настроить прозрачность альфа канала. Сохранить несколько цветов в палитру.
  2. Стиль фигуры. Можно выбрать заливку для фигуры, тип, цвет и толщину линий. Настроить стиль штриха.
  3. Заливка шаблоном. Для выбора доступны тональные заливки, символы материалов, геометрические плитки и шаблоны сайтов.
  4. Модель SketchUp. Для удобной работы с моделями, которые были созданы в программе SketchUp. Позволяет осуществлять визуализацию объектов.
  5. Стиль текста. Работа со шрифтами. Можно настроить выравнивание, межстрочный интервал, размер и тип шрифта.
  6. Страницы. Для создания и редактирования страниц, перемещения между ними.
  7. Слои. Для перемещения между слоями проекта. Можно настраивать их видимость, закреплять (защита от изменения) выбранные.
  8. Вырезки. Для более подробной визуализации документа. Включает в себя всевозможные стрелки и указатели, которые можно удобно размещать.
  9. Учебник. Краткая справка и помощь, касательно выбранного элемента. Информация будет меняться в зависимости от того, какой инструмент выбран.

При необходимости панель инструментов и меню Лоток по умолчанию можно закрыть. Благодаря этому можно значительно увеличить размер рабочей области. Вновь вернуть закрытые вкладки можно через пункт меню «Окно».


  • Tests should not take too much time to run.
  • Tests should focus into a particular feature which can be tested in isolation
  • Tests could be categorised, ex. DC, AC analysis, a component…
  • Tests should exercise corners that are crucial for stable releases.
  • Before releasing, the test set should be run with no regressions.
  • Git can be used to version test result (timing history?)
  • Use to ignore the changes on the header line of the netlist files.


A test case is stored on a directory, similar to a Qucs project

Suggested contents:

  • test.txt
  • Schematic (.sch)
    • Test schematic (name convention)
    • Subcircuits dependencies
  • Netlist (.txt)
  • Result (.dat)
  • Optional
    • reference log file (.txt)
    • PDF dump of schematic/data display

What about asco, verilog, vhdl?

Run a test-case

The test-case is run depending on the available inputs. The main steps are listed below

  • convert schematic into test netlist
  • compare reference netlist with test netlist
  • run netlist (or test netlist) store test result
  • compare reference result with test result

13.5 Multi-tone Large signal AC HB simulation¶

Since Xyce release 6.3 the package has supported multi-tone HB simulation. Xyce multi-tone allows more
than one tone frequency in the properties box.
Perform the following steps to setup a multi-tone Xyce HB simulation:

  • Specify a list of space separated frequencies in the parameter box.
  • Specify a comma separated list of the number of harmonic frequencies for each of the source signals in the parameter box.
  • Construct an input signal generator using two or more series AC voltage sources, with the required frequencies and amplitudes, or
  • construct an input signal generator using two or more parallel AC current sources driving a one Ohm resistor.

Normally, multi-tone HB simulation signal sources consist of two or three AC sources with different frequencies and similar amplitudes.
With two AC signal sources with nearly equal frequencies, that are not integer related, circuit modulation components can be extracted from circuit output spectra.
A multi-tone HB example illustrating this feature is given in Figure 13.8, where two AC signals of 0.8 V peak and frequencies 0.95 MHz and 1.05 MHz are applied to a simple diode circuit.
The frequencies of individual diode current spectral components are show as combinations of signal frequencies \(f_1\) and \(f_2\) and marked in red on Figure 13.9.

Figure 13.8 An example diode 2-tone Xyce HB simulation circuit plus diode voltage spectra.

Contribution guide

Steps to contribute

Source code of the Qucs-S is hosted at the Github in the following repository:
https://github.com/ra3xdh/qucs_s. You
need to clone this repository if you wish to contribute.

git clone -b current https://github.com/ra3xdh/qucs_s
cd qucs_s
git checkout -b your_feature

Use CMake to compile Qucs-S. After you make changes, prepare a
pull request to Qucs-S repository.

Branching model

  • master is release candidate for the next Qucs-S release.
    This branch provides side-by-side installation of Qucs and Qucs-S. Main application
    executable is named to qucs-s. Only CMake is supported.
  • current is development branch. Use this branch to target patches.
    It uses traditional Qucs build system. There may exist some experimental branches forked form
    this branch. I merge current into master time to time.

Release tarball is obtained from master with some
Bash script.
I distribute only Qucs-GUI and some utilities with Qucs-S package.

My changes only concentrated on GUI side, and you need to rebuild GUI only to test Qucs-S. You may
take Qucsator from usual Qucs installation.

Build instruction (development branches)

For qucs-s-stable you need to set WITH_SPICE cmake key. Autotools will not work. Perform
the following commnads to build all:

git clone https://github.com/ra3xdh/qucs_s/
cd qucs_s
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/some_path

Then install and launch qucs-s executable.

5.1 Fourier simulation¶

The Qucs-S implementation of Fourier simulation allows users to perform a Fourier analysis of
one or more time domain circuit signals and to investigate their spectrum in the frequency domain.
Qucs-S Fourier simulation is implemented by Ngspice, Xyce and SPICE OPUS.
Fourier simulation is available to Qucs-S users via a special icon called Fourier simulation.
This icon is located in the simulations group. To request a Fourier simulation
place a copy of the “Fourier simulation” icon on the current work schematic alongside a transient simulation icon.
Qucs-S Fourier simulation uses the simulation data generated by a transient simulation and has no meaning without a set of transient
time domain data. The link between Fourier simulation and transient simulation is formed by entering the
name of the coupled transient simulation as the first property of Fourier simulation.

The Fourier analysis property list has the following entries:

  1. — Linked transient simulation icon name.
  2. — Number of harmonics: variable number for ngspice and SPICE OPUS but fixed at 10 for Xyce.
  3. — This parameter is the fundamental frequency of the generated frequency domain spectrum.
  4. — This parameter is a list of output signals. These may be node voltages and currents. In the list each entry must be space separated.

Fourier simulation creates four output vectors for each specified output signal, for
example in the case of signal :

  1. — Magnitude spectrum.
  2. — Phase spectrum (in degrees–).
  3. — Normalized magnitude spectrum.
  4. — Normalized phase spectrum.

Qucs-S allows each of these four display vectors to be plotted.

Here is a small example of a Fourier simulation which demonstrates the main features introduced above
and the relation between small signal AC simulation and Fourier simulation.

More compile instructions on GNU/Linux

(This section may be outdated. Find up to date documentation in */README.md)

For the GUI tools and simulation engine the following packages are required
when building from git (package names on non-Debian may vary).

To build the manuals and user documentation further dependencies are needed.
Please check the file. See below the to skip
building the documentation from source. To build the documentation from source
the following packages are needed (package names on non-Debian may vary).

Bootstrap, build, install everything (after cloning):

Compile Qucs GUI tools only:

Compile qucs-core tools only:

Compile qucs-doc documentation only:

Tests may be executed at the top level with:


  • Qucs will be installed to by default. You may override this
    by passing to the script.

  • ADMS should be installed e.g. from a released tarball (>= 2.3.0).
    To use a different pass the option
    to .

  • The LaTex documentation compilation in qucs-doc can be skipped passing
    to the top level script.

  • Consider INSTALL and the output of for more and
    definitive build options.


Sketchup в первую очередь нацелен на использование в качестве средства для визуализации интерьера. Подобных программ на рынке много, но почти все они предлагают выбирать готовые пресеты мебели с подбором только текстур. Их максимум — предложить составить интерьер комнаты «из кубиков» или даже попытаться запроектировать целый дом, но в жестких рамках заложенной библиотеки. Скетчап выгодно отличается возможностью полноценного редактирования как геометрических примитивов, так и моделей, в нем можно самостоятельно собирать любые придуманные конструкции не хуже, чем в более известных программных продуктах.

Скетчап прост, но не примитивен. Он не перегружает пользователя стартовым меню и не заставляет его учить толстенные мануалы перед началом использования. Sketchup изначально реализован Гуглом как обучающая среда, но давно вышел за рамки этого проекта. При простоте редактора, популярность Скетчапа привела к тому, что на него пишут полноценные среды визуализации, как на Майю или 3dsMax. С помощью Vray в Скетчапе можно создавать высококачественный рендер на достаточно скромных системных ресурсах, только нужно проверять версию рендерного движка на совместимость версий.

Скетчап очень демократичен к системным требованиям пользовательского компьютера. Для любительского продукта не нужна мощная профессиональная видеокарта типа Nvidia Quadro, хватит и универсальной. Хотя лучше, конечно, иметь не офисный GPU. А вот объем ОЗУ Sketchup 8, как и предыдущие версии, требует достаточно высокий в случае необходимости рендеринга сложных сцен. На минималках работа сильно замедляется.

Скетчап популяризирует работу пользователя над собственными надстройками. Есть полноценный редактор макросов на Ruby, который значительно автоматизирует весь рабочий процесс. Среда работы Sketchup подразумевает создание «компонентов» — частей модели для повторного использования, в компьютерной анимации и моделировании такие заготовки еще называются темплейтами. Создание многократно используемых объектов высвобождает время для творческих задач, ведь в дизайне интерьера львиную долю времени занимает рутина. Также работает импорт моделей из Интернета.

Основным элементом моделирования в Скетчапе, как и в любой программе трехмерного проектирования, являются геометрические примитивы. При этом меню работы с ними очень простое. Например, можно двигать плоскость по заданной кривой через команду Follow Me. При помощи навигационных push-pull команд плоскости очень просто меняют свою позицию, создавая новые стенки дома или квартиры. Это очень помогает новичкам в дизайне интерьеров научиться ориентироваться в пространстве прежде, чем они пересядут в «рубку самолета» 3ds Max или его аналогов.

Анимация в Sketchup довольно продвинутая и используется при переходе между сценами. Первичные представления о выстраивании ключевого кадра она дает, хотя и не является полноценным заменителем профессиональных анимационных пакетов. В Скетчапе есть функция импорта и экспорта многих популярных форматов, поэтому свои заготовки в этой программе можно потом править более подходящим инструментом. В профессиональной среде редко используют только одно приложение для разработки крупного проекта. В плане дополнения как Скетчап 2016 года, так и более ранние версии являются весьма полезными своей универсальностью. Создавать сложные модели в нем можно, но наиболее продуктивным использованием будет изготовление быстрых заготовок под использование их в сложных сценах. Такие возможности очень полезны при проектировании большого интерьера с кучей предметов и в сжатые сроки, когда на первых этапах на создание высокодетализированных мелочей нет времени.

3.6 Libraries blacklisting¶

Every library may consist of simulator-incompatible components. For example
XSPICE devices will not work with Xyce backend. And Qucsator microwave devices
will not work with any of SPICE.

Library blacklisting serves to hide simulator incompatible libraries in Qucs-S
library manager view. User will not see such libraries. This prevents simulator
compatibility issue.

There are three files in the system Qucs-S library directory
(for example ). All files have plain text
format and contain a list of simulator-incompatible library files with extension
in the current directory. File entries are newline-separated. These libraries
will be blacklisted and will be not shown in the library manager if appropriate
simulator is selected as default.

Here is blacklist files list:

  • — The list of Ngspice-incompatible libraries;
  • — The list of XYCE-incompatible libraries;
  • — The list of Qucsator-incompatible libraries;

For example, let’s consider contents of the file:


All of these libraries contain SPICE-only components (XSPICE analogue blocks)
and will not work with Qucsator.

Оцените статью
Рейтинг автора
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
Добавить комментарий