Quokka3 version changelog

1.2.0 (17 October 2018)

New Features

  • Introduced the possibility of per-user cloud computing limits; additionally to per-institute limits
  • added 'MIS_simple' option for a lumped skin's vertical resistivity and contact resistivity; compatible with ohmic simulations, i.e. resistance test structures
  • Enabled 'dark JV-curve' solution type for ohmic devices (resistance test structures), to simulate non-ohmic JV-curves for resistance structures involving MIS contacts
  • Schindler 2014 mobility model implemented (more accurate for compensated silicon), set to default
  • FELA now more clearly differentiates between resistive and diffusive transport losses, which add up to the total transport losses

!Syntax changes!

  • removed '.Electrical' from ContactFeauture settings, i.e. ContactFeature(icont).Electrical. -> ContactFeature(icont).
  • changed 'ContactFeature(icont).Electrical.ContactResistivity' to 'ContactFeature(icont).OhmicResistivity'; old setting still supported for now but gives deprecation warning
  • moved 'Solver.Electrical.MinorityThermionicEmission' to ContactFeature(icont).MinorityThermionicEmission'


  • bugfix: when optics were defined via SunSolve file, Text was wrongly still taken from the SkinFeature optical properties
  • bugfix: vth setting for SRH recombination was ignored
  • bugfix: J02-edge recombination was incorrectly accounted for in FELA
  • bugfix: EdgeLoss results for multi-domain simulations was inaccurate (ca. factor 10, but not exactly)
  • GUI bugfix: proxy server did only work with "robust connection mode"

1.1.10 (24 September 2018)

  • GUI: added option to plot band-diagram including electrostatic potential
  • bugfix generic syntax: non-consecutive indexing of detailed skins didn't work correctly
  • bugfix GUI: fixed "currentvers" error
  • some fixes and improvements for handling incomplete results within a (parallel) sweep

1.1.9 (6 August 2018)

  • Fixed a numerical bug introduced in version 1.1.8 leading to wrong results in some cases

1.1.8 (4 August 2018)

  • bugfix: EQE calculation was wrong for scaled bias illumination
  • bugfix: radiative recombination in Si was always zero (bug introduced in version 1.1.6)
  • bugfix: one dimensional qn-bulk solver simulations did produce an error during writing results
  • new input parameter and default value for thermal velocity: 2e7 cm/s at 300K, adding also temperature-dependence; only affects SRH recombination defined via capture cross sections in the bulk and at surfaces
  • improvements for solving non-contacted devices (e.g. enabling sunsVoc-curve for symmetric lifetime samples)
  • MIS model improvements: accounting for the effect of potential drop over the tunneling layer; multiscale coupling improvements

1.1.7 (31 May 2018)

1.1.6 (21 April 2018)

  • new solution type 'Tc light JV' to calculate temperature coefficients of light JV parameters
  • GUI supports plotting of spatial data for a sweep (1D only)
  • fixed START_DISCONNECT command of command-line version to give the simulation id only to stdout instead of as return code (which wasn't working)
  • minor other fixes and improvements

1.1.5 (28 March 2018)

  • 'front and rear contact full cell' syntax released, featuring a multi-domain approach to efficiently simulate a full-area H-pattern metallized solar including its edges (see this example)
  • Bugfix: 'erfc' doping profiles were wrong
  • Bugfix: "pmpp" and "Pmpp" scalar outputs had randomly wrong values (renamed "Pmpp" to "Pwmpp")
  • GUI enhanced by progress bars for uploading and downloading

1.1.4 (28 February 2018)

  • Bugfix introduced in 1.1.3: for simplified syntaxes in some cases the geometry of features was unintentionally inversed

1.1.3 (23 February 2018)

  • Added feature geometry parameter '.Inverse' (defaults to 0) for the feature to cover the full area except of the defined geometry; useful to create "gaps"
  • Added Probes to sense surface potential at defined positions (useful for simulating 4PP measurements)
  • Renamed feature geometry parameter '.RepetitionsNumber' to '.Repetitions' with a default value of 1
  • Improved meshing to better cope with circles
  • GUI: introduced legends in line plots, including a toolbar button to toggle legend visibility
  • GUI: added toolbar button to copy line plot data to clipboard, compatible with pasting into Excel

1.1.2 (9 February 2018)

  • Bugfix: Solver.IonPreBias.ScaleGeneration did default to 0 instead of to Solver.Optical.ScaleGeneration, thus wrongly resulting in zero pre-bias generation when not given
  • Bugfix: import of more than 2 lifetime images my have resulted in substantial error
  • Bugfix: rear-side QE simulation did result in wrong Teff and IQE (EQE was correct)
  • Bugfix: 'local-lumped' option for Optical.TextZ.RearZ did result in errors (it was ok for FrontZ)
  • Some fixes / improvements for MIS contacts and multiscale modeling
  • GUI: cloud connection is now kept when opening settings dialog
  • Performance boost for ohmic simulations

1.1.1 (17 January 2018)

  • bugfix: optics definition via a SunSolve file was not working with cloud-service
  • bugfix: GUI files where missing in update and latest version
  • some improvements for MS / MIS implementation

1.1.0 (12 January 2018)

Version 1.1.0 is a larger release introducing several new capabilities, please read below.

New features

  • Import from SunSolve introduced, a convenient and consistent way to interface Quokka3 with a powerful optics simulator; see details in Modelling guide
  • Supports the calculation of light trapping (i.e. "Z") via the internal optical properties of the skin, meaning different optical generation for different parts of the cell can be modelled; see details in Modelling guide
  • MIS contact model released, see details in Modelling guide and user guide, enhances in particular the capabilities to model tunnel-oxide contacts
  • General SRH recombination is now implemented for the 1d-detailed solver, both for steady-state and transient simulations; thoroughly accounts for the effects of trapping and transient SRH dynamics
  • Improvements to the 1d-detailed solver convergence, comprising the ability to solve for intrinsic conditions (0 V and 0 Generation), as well as ion transport modeling
  • Capability to choose intrinsic conditions as a starting point for transient simulations via Solver.Transient.StartType='intrinsic'.


  • The effect of ion concentration on n0 and p0 was wrongly neglected in some cases, may have influenced recombination effects in the presence of ions
  • Some bugfixes for the cmd-version
  • A freshly started GUI wasn't correctly able to reconnect to finished simulations

Snytax changes for internal optical properties of skin features

do not distinguish contacted and non-contacted regions of a skin anymore (which were internally area-averaged on the entire skin feature anyway), use separate skin features instead to distinguish; detailed changes for the group SkinFeature(iskin).Lumped.Optical:

  • .ContactInternal.NthPassReflectance and .NonContactedInternal.NthPassReflectance -> .Internal.AverageReflectance
  • .ContactInternal.FirstPassReflectance and .NonContactedInternal.FirstPassReflectance -> .Internal.SpecularReflectance
  • .ContactInternal.LambertianFraction and .NonContactedInternal.LambertianFraction -> .Internal.LambertianFraction

1.0.5 (7 December 2017)

  • Bugfix: wrong memory prediction introduced in 1.0.4 resulted in wrongly exceeding cloud allowances
  • Introduced 'Solver.Electrical.NPMetalPadContact' setting to control behavior for the case that a PadFeature is placed on top of a MetalFeature with opposite polarity (defaults to error)

1.0.4 (4 December 2017)

  • Bugfix: cmd-version wasn't working
  • Bugfix: in some cases multiscale modeling did produce a wrong "free version exceeded" error even when using the cloud-service
  • Optical settings group changes: Optical.TextZ.Text -> Optical.TextZ.FrontText and Optical.TextZ.RearText (allows differentiation of a "global" Text for front and rear); Optical.TextZ.Text is still supported, but will soon be deprecated

1.0.3 (22 November 2017)


  • Bugfix for 2D geometry plotting


  • Some bugfixes for multiscale modeling, (QE simulations with single-point coupling were wrong, sweep did sometimes not work)
  • Bugfix: skinsolver wasn't usable
  • Bugfix: FELA recombination contributions were missing in results files

1.0.2 (13 November 2017)


  • Stores a log file for each simulation
  • Added an IBC settingsfile in the example folder
  • Few minor changes


  • Added Kimmerle et al. 2016 parameterizations for Sn and Sp surface recombination velocities
  • Some extensions to 'front and rear contact unit cell' syntax:
  • Allows different properties for front and rear busbar properties
  • Supports additional local skins for busbar and contact regions
  • Added toggle to allow ideal (re-absorption free) escape probability of luminescence
  • Perovskite material:
  • added default value for Brad (6e-10 cm3/s)
  • added simple Auger model via user-defined electron and hole Auger parameters Cn and Cp
  • Some fixes for Rs-curve and sunsVoc-curve solution types
  • Some fixes and improvements for multiscale modeling
  • Transient solver convergence improvements

1.0.1 (13 October 2017)


  • Fixed some problems for the manage cloud simulations window (no refresh after delete / frequent freezes)


  • Introduced current loss analysis (CLA)
  • supports user-defined n&k values

1.0.0 (25 September 2017)


  • initial public non-beta release


  • initial public non-beta release