Skip to content

Qucs-S enhanced v27.0.2

Choose a tag to compare

@github-actions github-actions released this 21 Oct 11:24

Qucs-S enhanced 27.0.2

Claude Code in Qucs-S: a dock where you talk with Claude Code about your
circuits, simulations and files - and where Claude can open, change and
simulate schematics in the window in front of you. One bundle per platform
is attached (macOS Apple Silicon and Intel, Linux x86_64 and arm64, Windows
x64 and arm64); SHA256SUMS.txt lists them. The macOS bundles are ad-hoc
signed, not notarised: right-click the app and choose Open on first launch.
No bundle includes ngspice: install it separately and point Application
Settings > Locations > Ngspice at it if it is not on PATH (on Windows at
ngspice_con.exe). Nor Claude Code: the dock needs the claude program
installed (claude.com/claude-code) and signed in once in a terminal.

New in 27.0.2

  • Photodiodes under strong light, the nine pieces their physics lacked
    (docs/feature_gaps/2026-10-20-claude-photodiode-circuit-and-slices.md
    and the seven write-ups after it, 2026-10-20 and 2026-10-21):
    • A contact behind a circuit: V0 through a series resistance and a
      load, or a bias tee's, a pad's capacitance across; its own voltage
      solved with the carriers at rest, in time and small-signal (semi.Vc,
      IL, VL, PL) - the bias collapse a large photocurrent causes.
    • A waveguide photodiode cut along its length into slices of equal
      light, solved together: its input end saturates first (0.928 of its
      pairs collected at 5 mW against the last slice's 0.970).
    • The light's heat in semi.H, its integral the contacts' I V and the
      light absorbed exactly; a lattice temperature in the bands, the
      saturation velocities and impact ionization; a direct gap's
      absorption at the absorber's temperature.
    • The light and the carriers in turn: a Stationary step after a Mode
      Analysis solved again until the pairs made settle - Franz-Keldysh in
      the lit device's own field, its free carriers, band filling and
      temperature (germanium on silicon at 5 mW absorbs 6 % less).
    • A heterojunction's carriers emitted over its step: thermionic
      emission and tunnelling through its spike.
    • Hot carriers: the carriers' temperature from an energy balance drives
      their mobility, so carriers entering a high field overshoot their
      saturation velocity; transferred electrons' velocity falls past its
      peak (semi.Tn, semi.Tp).
    • Distortion: a Harmonics derived value, a global's harmonics over the
      last whole periods of a step in time, HDn in dBc and THD - a
      photodiode's compression under strong modulated light.
    • Noise: the semiconductor's Noise option, each frequency step's noise
      by the impedance field method - the carriers' diffusion, the pairs
      made and recombined, the ionizations: a resistor's 4kT G to every
      digit, a lit photodiode's 2q I, an APD's excess noise McIntyre's
      (semi.Sn_, in_, Fshot_, SnL_ through a load, NEP_).
    • An avalanche diode with velocity saturation past its old wall: the
      18 October round's diode found no solution past -22.7 V, now it
      sweeps to -50 V, 1.7 V from breakdown, its multiplication McIntyre's
      (1.3614 against 1.3687 at -40 V). An edge whose two triangles'
      cotangents all but cancel no longer gives impact ionization a current
      its saturated mobilities made up.
  • The mode analysis: a Mode Overlap - a mode with another of the study, a
    Gaussian beam or a mode from a file, moved by an offset (its power
    overlap and loss in dB; a fibre against Marcuse's Gaussian 0.99388) -
    and a Mode Profile export, the six components on a grid as MATLAB .mat,
    NumPy .npz or CSV, also from a 2D plot group's menu
    (docs/feature_gaps/2026-10-20-claude-mode-overlap-and-profiles.md).
  • A process flow for the multiphysics models
    (docs/feature_gaps/2026-10-20-claude-process-flow.md): a Process Flow
    geometry runs its steps on a 2D cross-section - substrate, epitaxial
    stack, deposit, etch, planarize, strip, selective epitaxy, fill - with
    masks from a layout's layers along a cut, and leaves its regions for
    the materials and physics; then its dopants: implants through the
    topography (Pearson profiles), anneals, oxidation, III-V zinc diffusion
    and well intermixing - a semiconductor's doping and a quantum well's
    bands from the flow.
  • Quantum wells' coupled excitons: with k.p bands the subbands followed
    along k (at high fields their TE line was lost), the electron and hole
    drawn together - the Lumerical electro-absorption modulator's measured
    TE transmission met to 1 to 4 %
    (docs/feature_gaps/2026-10-20-claude-coupled-exciton-strength.md).
  • Diagrams: a trace hidden, the Data tab's Shows box's last item - kept
    with its style, not drawn, nor in the legend or the axes' limits; and
    for Claude, add_trace and edit_trace's "hidden"
    (docs/feature_gaps/2026-10-20-claude-hide-a-trace.md).
  • Closing a sheet just edited no longer calls into it half-closed; keys
    Claude sends to a field reach it while its window is still being
    activated.
  • Quantum wells: excitons of the subbands coupled - the spectrum's Exciton
    "Coupled subbands (k space)": every electron-hole subband pair on one
    in-plane k grid, the Coulomb attraction within and between the pairs,
    one Hamiltonian's bound states and continuum - the 2s and higher, the
    continuum's own enhancement, a dark (indirect) pair's exciton mixing
    with a bright one's. Parabolic and 4x4/6x6 k.p bands. The exact
    GaAs/AlGaAs heavy-hole binding approached as subbands are coupled
    (20 nm: 6.894 meV with 4 states, exact 6.911); one pair's binding and
    line within 0.02 % of a real-space solution of the same exciton
    (docs/feature_gaps/2026-10-19-claude-coupled-subband-excitons.md).
    With k.p bands the heavy and light holes mix in the attraction too:
    each valence spinor at each k, its parts in channels of the exciton's
    angular momentum, so the heavy-hole exciton has no TM line (0.0035 of
    TE, 0.18 before) and its binding does not depend on the bands' phases;
    the continuum widened past the line's width is warned of, with
    "excitonsize" to set the solve's size, its ripple quoted at its peaks
    (docs/feature_gaps/2026-10-19-claude-coupled-exciton-hh-lh-mixing.md,
    docs/feature_gaps/2026-10-20-claude-coupled-exciton-a4ff84a-check.md).
    A reviewer's independent real-space reference agrees: the hh1
    exciton's binding to 0.02 meV, the lh1 line to 0.1 meV.
  • Quantum wells' default plots: one set per kind of study, none for a
    study with plot groups of its own; a Valence Bands study's own E(k)
    ("The Valence Bands", qw.Ev* in eV), where it was given a spectrum's.
  • The Multiphysics panel's expressions offer the names they may use as
    they are typed: "emw." lists the mode analysis's variables with their
    units and what they are, a plot's the globals too (their values where
    the study has one solution), Ctrl+Space every name
    (docs/feature_gaps/2026-10-19-claude-expression-completion.md).
  • Claude in Qucs-S: its tools lighter and quicker, by what the dock's
    sessions did (docs/feature_gaps/2026-10-19-claude-mcp-efficiency.md,
    docs/feature_gaps/2026-10-19-claude-mcp-efficiency-check.md):
    • The tools in every turn follow what is open: a model's tools where a
      model is open or its project has one (sessions of a model searched for
      them three times or more first), a schematic's wiring where one with
      parts is; the documents' and menus' tools always; get_state says
      which.
    • The diagram tools half their size, a kind of diagram's own options
      folded (their names said, the whole in describe_tool); the
      multiphysics format's properties a line each, a third shorter.
    • A dialog that waits says what it reads, and set_dialog answers it at
      once (four turns before); an action not named as it is gets the
      nearest named; a text answer reaches Claude as it is, not escaped in
      JSON.
    • The Multiphysics panel through the tools: set_ui picks a model tree's
      row by its number or path and commits the field it sets; send_input's
      keys reach the list of names open below a field (and a field's own
      Ctrl+A comes before the window's Select All); get_ui and set_ui read
      and choose the list's rows, and the pictures show it
      (docs/feature_gaps/2026-10-19-claude-coupled-line-rf-check.md).
    • fem_evaluate's 'point' picks a Valence Bands study's k by number, and
      a point past the last is refused, not answered with the last;
      fem_plot clears an older plot group's diagram from the group's
      display and says so; a brief batch says which model fem_model saved,
      and what each other call made or set
      (docs/feature_gaps/2026-10-20-claude-coupled-exciton-a4ff84a-check.md).
    • send_input's typed characters reach a completion list's field with
      the list open, whether or not the window has the focus.
    • A new document's first edit is counted like the others: get_state
      says who made it, and a conversation is told when the user changes a
      document it made; a sheet's first edit after it is opened, and its
      reading again when changed on disk, too.
  • The hunt of 19 October's findings fixed
    (docs/bug_hunts/2026-10-19-apd-round-and-ci.md,
    docs/feature_gaps/2026-10-19-claude-apd-hunt-fixes.md): impact
    ionization near a junction no longer counts a hole current's rounding as
    pairs (a near-breakdown sweep now reaches -51.4 V on every mesh, the
    multiplication the same on every mesh); a sweep that stops goes on from
    its next point when solved again; closing a model while it meshes or
    sets up a solve takes a fraction of a second, not ten; a temperature
    sweep no longer stops where its last point's solution does not carry;
    the Lumerical import's counts checked; two examples' settings and one's
    refinement corrected.
  • Settings: the File Types table, the Locations lists and the Contents
    list take the dialog's height.
  • Avalanche photodiodes and breakdown
    (docs/feature_gaps/2026-10-18-claude-lumerical-apd.md):
    • The way to the contacts' voltages starts each step on the line of the
      last two solutions and adapts its steps: the reviewer's 34-point APD
      sweep to breakdown in 39 s, 1401 s with the build before; the same
      currents.
    • A sweep cancelled, or a point of it without a solution, keeps the
      points before, and says where and why.
    • While it solves, the model tab (and Claude's fem_solve and
      fem_describe) says its point of the sweep, the contact's voltage and
      step, and Newton's step and residual.
    • Impact Ionization's driving field may be the field, each carrier's
      quasi-Fermi gradient or the field along its current: by the field, a
      steep doping's field at rest ionized and broke the reviewer's model
      down early. semi.In and semi.Ip are the most of every field line's,
      with where (semi.xion, semi.yion); from the equations, the impact
      current semi.Iion, the pairs made otherwise semi.Igen, their
      multiplication semi.Mion and the impact pairs at a point semi.Gion.
    • The Lumerical APD project imported: dark current 0.95 to 1.16 of the
      Lumerical results from -4.5 to -9.5 V, breakdown at -9.9 V (the
      Lumerical run past -9.98), photocurrent 1.04 to 1.16, gain 9.37 against 9.91 at
      -9 V; bandwidth 31 GHz at gain 13 with the quasi-Fermi or along-current
      field (Lumerical about 30 GHz at 12).
    • A small signal's first frequency right with Fermi-Dirac statistics and
      saturated mobilities (it read Boltzmann's degeneracy).
  • Photodetectors (docs/feature_gaps/2026-10-18-claude-lumerical-vertical-photodetector.md):
    Surface Recombination's Apply to majority carriers: off at an ohmic
    contact, its minority carriers recombine at the surface's velocity, the
    majority held - a contact of finite recombination velocity. The
    Lumerical CHARGE script export writes the switch, and the import reads it. The
    generation's help says how a frequency step modulates it. Two faults of
    damaged Lumerical MQW projects fixed: a crash (a stored result's sizes
    past 2^64) and a hang (a layer count of two billion).
  • Lumerical: a model exported as a CHARGE script and read back is the
    model again - its graded dopings, its own models and recombination, its
    surface recombination (with its temperature model) and generation, its
    parameters, functions and mesh: the reviewer's photodiode's dark current
    within 0.1 % of the model's, where it came back 366 times. The script
    writes surface recombination and imported generation as native Lumerical
    objects, and a project's surface recombination of temperature is read
    (docs/feature_gaps/2026-10-18-claude-update-check-2e349c6.md).
  • Transmission lines
    (docs/feature_gaps/2026-10-18-claude-coupled-line-rf-wishlist.md):
    • Coupled lines: a Line Parameters node of several signal terminals
      gives their C, C0, L, R and G matrices per metre and their modes - a
      symmetric pair's even and odd (Z0, n_eff, attenuation, both effective
      permittivities, Zdiff and Zcm), other lines' by eigen-decomposition
      with their voltages, currents and characteristic impedance matrix.
      Exported as a 2N-port Touchstone file (a pair's mixed-mode too), as
      SPICE sections with their mutual L, R, C and G, or as a Qucs coupled
      line part. A ground-signal-signal-ground pair's whole table from one
      node, where the matrices were reduced by hand.
    • A single line's n_eff and quasi-static effective permittivity (C/C0)
      beside (beta/k0)^2; R per metre shown in Ohm/m.
    • Magnetic fields' coils have roles - fixed current, fixed voltage,
      floating, grounded - and the coils' matrix is given reduced against a
      reference coil.
    • Claude's tools: fem_model new makes a relative path's folders and
      leaves no tab after a failed write; fem_describe's format of one group
      is that group's text alone; fem_evaluate reads a Line Parameters
      node's values (lp1.Z0_odd, or lp1 for all of them); a model's 1D plot
      dataset is judged stale by the model's solve, not by its data
      display's diagrams; the mixed-mode Touchstone file says its option
      line's R is the single-ended reference
      (docs/feature_gaps/2026-10-19-claude-coupled-line-rf-check.md).
  • Quantum wells (docs/feature_gaps/2026-10-18-claude-lumerical-mqw-benchmarks-round2.md):
    a Valence Bands step finds every state bound in the wells too (Every
    bound state too), and a graph of qw.Ev* draws each state found - a
    Lumerical MQW project imported asks for both: its three-well wurtzite
    benchmark gives the paper's nine subbands with nothing set by hand.
  • Semiconductors: a heterojunction's band step abrupt at the nodes by
    default (a toy laser's current no longer changes with its mesh by tens
    of percent); "Graded over an element" kept as an option. Incomplete
    ionization's small-signal capacitance symmetric (the dopants' ions in
    each continuity's store), its transient's contact currents conserved.
    A heterojunction meshed coarser than a Debye length where its current
    crosses it is said, the current then the mesh's; a contact's charge
    described as the field's flux at it, not the junction's
    (docs/feature_gaps/2026-10-17-claude-update-check-a690d27.md).
    A Layered Region's columns graded toward a material's side walls - a
    buried active region's, an oxide aperture's edge -: the current no
    longer set by the lateral element size (a toy laser 57.8 uA on 200 nm
    columns and 35.6 on 50, now 29.8 and 29.5; the VCSEL example 1.38 mA at
    1.9 V, where 100 nm columns gave 1.42); the size at the walls a new
    property (docs/feature_gaps/2026-10-18-claude-lateral-columns-at-walls.md).
  • The viewers drawn by the CPU by default; the GPU an opt-in, viewer by
    viewer, on a new tab, Settings... > Viewers (the PDF viewer, the Markdown
    preview, the layout viewer, the multiphysics Graphics view)
    (docs/feature_gaps/2026-10-17-claude-viewers-tab.md):
    • The GPU through Qt's RHI: Metal on macOS, Direct3D 11 on Windows,
      OpenGL elsewhere; no OpenGL modules used
      (docs/feature_gaps/2026-10-17-claude-rhi-viewers.md).
    • Chosen, the GPU draws as the CPU does: the PDF viewer's pixels the
      CPU's, the Markdown preview's too (a few in ten thousand apart at
      150 %), the layout viewer's within a pixel.
    • A million layout shapes panned in 6 ms at most; a layout's layer shown
      or hidden at once on the GPU (4 ms where the cell was flattened again).
    • With a viewer on the GPU, the window no longer flashes as the first
      of them opens (docs/feature_gaps/2026-10-18-claude-gpu-window-flash.md).
  • The program starts on a Mac before macOS 15.5 again (it stopped at
    launch, missing an Accelerate function of 15.5's); Accelerate's Cholesky
    on every macOS (docs/feature_gaps/2026-10-18-claude-macos-start-before-15-5.md).
  • Zooming made smooth:
    • The PDF viewer: a pinch or a Ctrl-scroll zooms from the tiles at hand,
      the page sharp a moment after; the toolbar's and the menu's steps
      eased, the point under the pointer kept
      (docs/feature_gaps/2026-10-17-claude-pdf-smooth-zoom.md).
    • A data display of many curves zooms without choking: a page of 60
      curves of 2,000 points from 118 ms a step to 20.
  • Markdown: a table right under a line of text (a "Label:" line) is a
    table, as on GitHub - the Claude Code dock's replies too
    (docs/feature_gaps/2026-10-18-claude-panel-table-after-text.md).
  • The File Browser: a right click on entries chosen keeps them all chosen,
    its menu's Copy, Copy Paths and Move to Trash for every one of them.
  • The Claude Code dock: Cmd+C and Cmd+A copy and choose the conversation's
    text (they went to the document behind it - and Cmd+X, Delete and
    Backspace in any text one reads cut or deleted a schematic's chosen parts
    out of sight: now nothing)
    (docs/feature_gaps/2026-10-18-claude-copy-keys-and-chosen-entries.md);
    the Python console's reply to a line typed as it starts no longer
    carries its banner.
  • Third-party names written as adjectives, not possessives, and marked at
    their first use, as their owner's guidelines ask
    (docs/feature_gaps/2026-10-18-claude-trademark-adjectives-and-marks.md).
  • The PDF viewer: selecting text no longer stops the program for seconds
    (11.5 s on a paper's first page, now 21 ms)
    (docs/feature_gaps/2026-10-17-claude-pdf-selection-hang.md).
  • An update check's items fixed, each reproduced first: a scan's log says
    its frequencies' count, its cells' solver chosen on their size, a plot of
    a field the polarization leaves nought is said, the constants listed
    with their units, the layout viewer's drawn counts on the GPU.
  • Eigen's sparse LU (Linux, Windows, older macOS) given a matrix whose
    pattern had changed analyses it again: it wrote past its arrays.
  • Three layout tests that failed on a Retina display pass; a layer's
    swatch whole at any screen ratio.
  • The hunt of 17 October's findings fixed
    (docs/bug_hunts/2026-10-17-zoom-and-viewers.md): a PDF zoom beside a
    page no longer jumps; a graph in an SVG, PDF or EPS export keeps its
    round caps and every point; selecting text on a PDF of many labels
    quicker; the console tool's interrupt answers at once when nothing runs.
  • A data display's lines no longer go missing on a Retina screen when
    zoomed in (docs/feature_gaps/2026-10-17-claude-dpl-zoom-retina.md).
  • The hunt of 18 October's findings fixed
    (docs/bug_hunts/2026-10-18-rhi-and-retina.md,
    docs/feature_gaps/2026-10-18-claude-rhi-hunt-fixes.md):
    • A schematic's or data display's zoom keeps the point under the
      pointer (it moved up to 6.5 points a step), and a touchpad scrolls it
      at any zoom.
    • The GPU viewers lighter at full screen: a layout's pan 13 ms to 9, the
      Graphics view's 30 to 19; selecting text in the Markdown preview on
      the GPU 6.9 ms a step to 1.1.
    • Later PDF pages and the Markdown preview at 150 % as sharp on the GPU
      as on the CPU; the layout's outlines where the CPU draws them.
    • A GPU viewer that cannot draw falls back to the CPU, where it stayed
      blank; QUCS_GPU=0 keeps the Graphics view on the CPU from its menu and
      both settings dialogs; its wheel follows the Mouse wheel setting, and
      a trackpad pans it.
    • A crash of the Graphics view on the GPU, showing rays, fixed.

Full Changelog: v27.0.1...v27.0.2