LINUX.ORG.RU

Вышел симулятор электронных схем Qucs-S 2.1.0

 , , , ,


3

3

Сегодня, 26 октября 2023 года, состоялся релиз симулятора электронных схем Qucs-S. Рекомендуемым движком моделирования для Qucs-S является Ngspice.

Релиз 2.1.0 содержит значительные изменения. Вот список основных из них.

  • Добавлено моделирование в режиме тюнера (см. скриншот), который позволяет подстраивать номиналы компонентов ползунками и смотреть результат на графиках. Аналогичный инструмент имеется, например, в AWR;
  • Для Ngspice добавлена поддержка компонентов, задаваемых в частотной области при помощи файлов s2p (требуется Ngspice-41)
  • Переделаны иконки на панели инструментов. Теперь используются SVG иконки для кнопок, а иконки компонентов генерируются динамически. Всё это улучшает внешний вид для HiDPI
  • Переделано диалоговое окно, отображающее ход моделирования
  • Создание отдельного файла DPL для диаграмм отключено по умолчанию. Теперь диаграммы размещаются на схеме
  • Добавлена функция увеличения выделенного участка схемы
  • Добавлено несколько новых пассивных компонентов
  • Добавлены новые библиотеки: оптоэлектронные компоненты и тиристоры
  • Обновлён перевод на русский язык
  • Исправлены баги

Полный список изменений и ссылки на репозитории для различных дистрибутивов можно найти на странице релиза.

>>> Страница релиза

★★★★

Проверено: maxcom ()
Последнее исправление: hobbit (всего исправлений: 2)

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

Это просто киллер фича!

James_Holden ★★★
()

Хм. Куда-то не туда пошла моя жизнь. Я уже давно не пользуюсь подобным софтом. Но нравится. С релизом.

R_He_Po6oT ★★★★
()

Так новый cucs же только что выходил уже. Вот прямо пару месяцев назад новость была.

Smacker ★★★★
()

@DarthVadimius, тюнер как-то некорректно работает с компонентами «spice R», «spice C» то есть «красными» резисторами и кондерами. И катушками.

Если с «синим» куксовским резистором - у него сопротивление прописано «1 kOhm» и все нормально меняется, то с «красным» резистором - это будет «1k» без пробела между 1 и k, и тюнер туда какую-то дичь пытается вписать.

James_Holden ★★★
()
Ответ на: удаленный комментарий

Личное конечно присутствует, но помимо личного есть и вполне объективные поводы для критики в сторону Qt.

Но ладно уж, поведаю. Хотя рассказывал тут на форуме уже много раз эту историю.

Когда был молодой и неопытный, у меня руки чесались запилить какую нибудь софтину опенсорсную для линукса. А поскольку придумать ничего своего не мог, мне захотелось переписать какое нибудь популярное приложение с Qt на GTK. Тогда никакой ненависти к Qt у меня не было, и я использовал несколько софтин на нём. Мотивация была такая: мне больше нравилось окружение GNOME (тогда это был GNOME 2), и чтобы приложение лучше интегрировалось в окружение gnome, переписать его на GTK. План конечно амбициозный даже без учёта подводных камней, но тогда мне это казалось вполне посильной задачей для одного человека. Открыл я исходники нескольких интересных мне программ и обнаружил там 2 вещи:

Во первых, код на Qt УРОДЛИВ. Он даже не является стандартным кодом на C++, они вводят свой особенный синтаксис, которого нет в стандартном С++ и который парсится MOC’ом. Позднее я узнал, что этот синтаксис реализован через макросы, наподобие #define slots, но это не делает такой подход менее уродливым. Gtkmm почему то справляется без этого всего дерьма.

Во вторых, Qt это оказывается не только графический тулкит, но содержит в себе модули так же для сети и для много чего ещё. И разработчики, если берут Qt, имеют тенденцию использовать его не только для GUI а для всего подряд. И просто переписать GUI часть на другом тулките недостаточно, нужно переписывать всю программу. Для юного меня, который не понимал даже, как работает сеть и как писать сетевой код, это было непосильной задачей. С тех пор моё отношение не только к Qt, но и к любым большим библиоткекам-комбайнам (например boost) строго негативное.

В общем увиденное меня тогда очень расстроило и демотивировало. И затаил я на Qt обиду большую. Позднее я ещё узнал о том, что у Qt есть лицензионные проблемы, он оказывается полупроприетарный. И решил я пойти священным походом против Qt и везде где увижу его упоминание, пропагандировать против его использования.

eternal_sorrow ★★★★★
()

Long lıve Qucs. В своё время очень помогала эта программа.

thunar ★★★★★
()
Ответ на: комментарий от James_Holden

Ну вот, теперь 2.0.0 разбирать придётся...

Smacker ★★★★
()

Считать реактивней стал что ли… шикарно!

S_Paul ★★★★★
()
Ответ на: комментарий от Rossiks

В каком смысле? Там полно источников тока и операционных усилителей. Но в режиме просмотра, да, менять можно только простые типа R и C, хотя не ясно, что значит «пассивные».

Vudod ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Он даже не является стандартным кодом на C++, они вводят свой особенный синтаксис

4.2

этот синтаксис реализован через макросы

Совершенно верно

но это не делает такой подход менее уродливым

А тебя не смущает, что почти в любой программе на C++ присутствуют #define как минимум в стражах компиляции и только с появлением C++20, возможно, появилась надежда на их отмирание?

Во вторых, Qt это оказывается не только графический тулкит, но содержит в себе модули так же для сети и для много чего ещё.

Совершенно верно. Если ты применяешь для GUI GTK, ты должен для сети применить ещё одну библиотеку, для XML или JSON третью, для работы с БД четвёртую и т.д. Очень сомневаюсь, что ты сможешь легко порхать между разными библиотеками работы с БД, например, безотносительно к Qt.

Для юного меня, который не понимал даже, как работает сеть и как писать сетевой код, это было непосильной задачей.

И вместо того, чтобы научиться и разобраться с сетевым кодом, ты решил почему-то сделать виноватой Qt.

у Qt есть лицензионные проблемы, он оказывается полупроприетарный.

4.2. Qt доступна под GPL, основные модули ещё и под LGPL. Какая к чёрту «полупроприетарность»? Да, кому GPL связывает руки, могут купить коммерческую лицензию, это помогает кутешникам зарабатывать денежки, в том числе на совершеноствование СПО. Какие «лицензионные проблемы» это создаёт тем, кто пишет СПО, неясно. Вот у тех, кто хочет писать проприетарщину на халяву и не хватает LGPL-компонентов, проблемы могут быть. Но тогда ты определись — либо ты ругаешь проприетарность, либо лицензионные проблемы. Трусы или крестик, короче.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 3)
Ответ на: комментарий от wandrien

Ну я не всё клоунство удаляю :) но тут человек клоунством спровоцировал другого на оскорбления. Удалять оскорбления, не удалив клоунство это как-то… А комментарий, где он попытался от клоунства перейти к техническим аргументам, даже специально восстановил.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от Rossiks

Есть транзисторы всех видов и библиотека с некоторыми аналоговыми ИМС. Просто они не вынесены на скриншот. Даже в новости упоминается, что недавно добавлены библиотеки с оптопарами и тиристорами.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от Vudod

Да, в старом Qucs был встроенный Qucsator, который распространялся вместе с интерфейсом в одном пакете. Qucsator очень плохо моделировал во временной области и мог зависнуть на схеме из 3 транзисторов. Но зато там были модели микрополосковых линий и СВЧ компонентов. Qucsator доступен здесь: https://github.com/qucs/qucsator Его можно собрать и указать в настройках программы, а потом переключаться между движками.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от James_Holden

Да, обнаружил, что красные компоненты с тюнером не работают. Обойти баг можно только заменив эти компоненты на синие. С ними всё нормально для любой записи и 1k и 1kOhm. Будем разбираться.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от DarthVadimius

Удачи! Идея добавления этого инструмента очень хорошая.

James_Holden ★★★
()
Ответ на: комментарий от eternal_sorrow

решил я пойти священным походом против Qt и везде где увижу его упоминание, пропагандировать против его использования

Вам бы с EXL к психологу сходить, вылечить детские травмы.

NickNotNick
()
Ответ на: комментарий от eternal_sorrow

В оценке QT в общем и целом согласен. Однако

библиоткекам-комбайнам (например boost) строго негативное.

а как же glib ?

Alphaer ★★
()

А в сравнении с популярными проприетарными моделялками он как? Например в сравнении с micro-cap.

Все хочу на досуге что-нидь такое освоить, но нехотелось бы биться башкой о кривые модели.

yax123 ★★★★★
()
Ответ на: комментарий от Vudod

Нет, ещё раньше. Я перестал поставлять Qucsator вместе с Qucs-S, чтобы не было конфликта с материнским пакетом и можно было устанавливать Qucs и Qucs-S параллельно. А потом Qucs фактически умер. Сейчас у пакета Qucsator есть собственный ментейнер, но он этот симулятор не развивает и не выпускает новые версии.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от yax123

В сравнении с LTSpice Qucs-S проигрывает по количеству моделей в библиотеке. Что и не удивительно, так как теперь LTSpice разрабатывает AnalogDevices и интегрирует туда свои модели напрямую. В MicroCAP12 библиотека моделей вроде бы большая, но недавно я начал её проверять на предмет что можно портировать в Qucs-S и выяснилось, что чего-то уже не производится, а что-то недоступно для заказа. В Qucs-S в библиотеках имеются только наиболее ходовые компоненты наподобие ОУ LM358.

Считает все симуляторы вроде бы одинаково, так как везде внутри модифицированный SPICE3f5.

Делать новые компоненты не сложно, но долго. С дискретными компонентами ситуация гораздо лучше, так как там создание моделей можно автоматизировать. Ну и Qucs-S может поддерживать PDK для микроэлектроники, например Google Skywater 130nm, которые прикрутить к LTSpice/MicroCAP сложнее. Также киллер фича Qucs-S моделирование S-параметров, которое в MicroCAP отсутствует. А с движком Qucsator можно моделировать микрополоски и прочие СВЧ компоненты.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от Vudod

Пассивные компоненты – это группа электронных компонентов, которые не могут самостоятельно управлять параметрами энергии источника питания, а предназначены лишь для накопления, рассеивания, поглощения или для перераспределения электрической энергии. Параметры в них изменяются линейно и им не требуется внешний источник для работы.

Rossiks
()
Ответ на: комментарий от hobbit

Я не буду на это отвечать, мы с тобой общались на эту тему уже много раз.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от Rossiks

Да, для всех нелинейных компонентов имеется модель. Подробнее можно прочитать в документации Ngspice. Примеры схем с транзисторами и ОУ имеются даже в скриншотах к предыдущим новостям о Qucs-S.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от DarthVadimius

Компоненты просто скачиваются в spice формате и импортируются в тот же LTSpice. Можно ли так с qucs_s/ngspice я не проверял

bga_ ★★★★
()

Ребята. Объясните мне пожалуйста как мне мне иметь глобальный порт VCC на схеме и везде его копипастить. Мне qucs_s просто не даёт так делать. При копировании получается новый порт.

bga_ ★★★★
()
Ответ на: комментарий от bga_

просто скачиваются в spice формате и импортируются в тот же LTSpice

В LTSpice в большинстве случаев ничего вручную добавлять не нужно. Там AD синхронизирует библиотеку с выпуском своих новых микросхем.

Можно ли так с qucs_s/ngspice я не проверял

Можно. Для этого существует специальный компонент «SPICE netlist». Может потребоваться правка модели, так как каждый SPICE имеет отличия. Для Ngspice сейчас делается режим совместимости с LTSpice, но он пока не совместим на 100%.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от bga_

Глобальным портом является только земля. Пользовательские порты для питания и т.п. создать нельзя. Порт, который вставляется с панели инструментов, служит только для терминалов подсхемы. Можно поставить метку на узел схемы VCC. Qucs-S будет соединять все узлы помеченные одинаково, даже если они не соединены проводом.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от Motif

Существует спектральный анализ и анализ Фурье. Документация к ним, к сожалению, отсутствует. Но вместе с программой имеются примеры использования данного вида симуляции.

DarthVadimius ★★★★
() автор топика

Раз тут можно общаться с автором то попрошу фичу биндить компоненты на горячие клавиши. Типа как R на резистор, С на конденсатор, N на npn транзистор, D на диод итд. Вижу это как тыкаем пкм на компоненте и в меню Set Hotkey. Очень ускоряет работу

bga_ ★★★★
()

Шаблон сборки для void linux

# Template file for 'qucs_s'
pkgname=qucs_s
version=2.1.0
revision=1
build_style=cmake
makedepends="git qt5-devel qt5-tools-devel qt5-svg-devel flex bison"
short_desc="Qucs-S provides GUI for different circuit simulation kernels"
maintainer="Nobody <nobody@nobody.com>"
license="GPL-2.1-or-later"
homepage="https://github.com/ra3xdh/qucs_s"
distfiles="${homepage}/archive/${version}.tar.gz"
checksum=732694ca6a23119eedf9c898f2015778429f7896e450c230fb589d5c1aa91d89

if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
	makedepends+=" musl-legacy-compat"
fi

bga_ ★★★★
()
Ответ на: комментарий от yax123

Мы сравнивали NgSpice, LTSpice и Multisim для проектирования схемы электронного нейрона и одной хитрой схемы ФАПЧ. Есть ощущение, что Multisim пока лучше, но работать в двух других вполне можно, даже если нет конкретных компонентов, есть ближние аналоги. Впрочем, мы ничего особо сложного не использовали: диоды, источники тока и напряжения, реостаты, резисторы, катушки, конденсаторы, аналоговые умножители, операционники, кажется, ещё была линия запаздывания.

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

Vudod ★★★★★
()
Последнее исправление: Vudod (всего исправлений: 1)
Ответ на: комментарий от Vudod

Есть ощущение, что Multisim пока лучше

Раньше Multisim мог заглючить и вообще ничего не посчитать. Покупка NationalInstrments не пошла этой программе на пользу. Также в минус Мультисиму общая раздутость и то, что он тянет всякие службы от NI типа интеграции с LabView, которые в 99,9% случаев не нужны. Вобщем я это поделие от NI стараюсь обходить стороной, тем более компактные и быстрые альтернативы имеются.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от Alphaer

Не комбайн. Это всего лишь базовая библиотека которая добавляет объектную систему в С.

eternal_sorrow ★★★★★
()

В ubuntu jammy, как и в Linux Mint 21.2 с kicad 7.0 не ставится ngspice.

root@HP-PB:/var/cache/apt# LC_ALL=C apt install ngspice
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  ngspice-doc
The following NEW packages will be installed:
  ngspice
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/2353 kB of archives.
After this operation, 7972 kB of additional disk space will be used.
(Reading database ... 646789 files and directories currently installed.)
Preparing to unpack .../ngspice_36+ds-1_amd64.deb ...
Unpacking ngspice (36+ds-1) ...
dpkg: error processing archive /var/cache/apt/archives/ngspice_36+ds-1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/ngspice/analog.cm', which is also in package libngspice-kicad 0.1-38~202211100131+14f42f805~ubuntu22.04.1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/ngspice_36+ds-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Так что как-то так.
Проблему решают, но пока не решили.
Советуют ngspice собрать руками в /opt.

hbars ★★★★★
()
Ответ на: комментарий от hbars

Решение описано здесь: https://github.com/ra3xdh/qucs_s/issues/333 Причина в том, что ngspice-kicad, который является библиотекой, конфликтует с системным ngspice. Установка одного ngspice-kicad недостаточна. Это библиотека, и с ней симуляция в Qucs-S работать не будет.

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от Rossiks

Параметры в них изменяются линейно

Насыщение магнитопровода - такой-то линейный процесс!

one_more_hokum ★★★
()
24 декабря 2023 г.

Здоровья Всем! Простенькая схема на NE555 - термостат с гистерезисом. Надо, чтобы терморезистор (R1) изменял сопротивление в сторону увеличения и уменьшения. Беру «Моделирование на постоянном токе» (DC1) и «Развертку параметров» (SW1), наблюдаю поведение в «Декартовой диаграмме» (Dxy1). Задаю в SW1 изменение от Rmin до Rmax - работает. Задаю в SW1 изменение от Rmax до Rmin - работает. Как сделать, чтобы диаграмма отражала поведение схемы при изменении сопротивления от Rmin до Rmax и обратно? Список - неудобно. Попробовал добавить DC2+SW2+Dxy2 - не получилось, т.к. в Dxy отсутствует разграничение между SW1 и SW2. ЗЫ Благодарю за проделанную работу над такой нужной программой!

asng60
()
Ответ на: комментарий от asng60

Если нужен sweep сначала в одну сторону, а потом обратно, то только использовать список или городить скриптовое моделирование.

DarthVadimius ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.