Simulation programme SCAPS-1D for thin film solar cells
developed at ELIS, University of Gent

SCAPS (a Solar Cell Capacitance Simulator) is a one dimensional solar cell simulation programme developed at the
Department of Electronics and Information Systems (ELIS) of the University of Gent, Belgium.

Several researchers have contributed to it's development:
Alex Niemegeers, Marc Burgelman, Koen Decock, Stefaan Degrave, Johan Verschraegen.

The was originally programme is developed for cell structures of the CuInSe2 and the CdTe family. Recent developments make the programme now also applicable to crystalline solar cells (Si and GaAs family) and amorphous cells (a-Si and micromorphous Si)

The most recent version, SCAPS 3.8, may 2020, includes:

A description of the programme, and the algorithms it uses, is found in the literature:

M. Burgelman, P. Nollet and S. Degrave, "Modelling polycrystalline semiconductor solar cells", Thin Solid Films, 361-362, 527-532 (2000). (This is the basic reference for SCAPS) (Full text, pdf)

M. Burgelman, K. Decock, S. Khelifi and A. Abass, "Advanced electrical simulation of thin film solar cells", Thin Solid Films, 535 (2013) 296-301 (Full text, pdf)

K. Decock, P. Zabierowski, M. Burgelman, "Modeling metastabilities in chalcopyrite-based thin film solar cells", Journal of Applied Physics, 111 (2012) 043703. (Full text, pdf)

K. Decock, S. Khelifi and M. Burgelman, "Modelling multivalent defects in thin film solar cells", Thin Solid Films, 519 (2011) 7481-7484. (Full text).

M. Burgelman and J. Marlein, "Analysis of graded band gap solar cells with SCAPS", Proceedings of the 23rdEuropean Photovoltaic Solar Energy Conference, (Valencia, E, september 2008), 2151-2155, WIP, München, 2008. (This describes graded solar cells, introduced in SCAPS2.8) (Full text, pdf)

 J. Verschraegen and M. Burgelman, "Numerical modeling of intra-band tunneling for heterojunction solar cells in SCAPS", Thin Solid Films, 515 (15), 6276-6279 (2007) (This describes tunneling, introduced in SCAPS2.7) (Full text, pdf)

S. Degrave, M. Burgelman, P. Nollet, "Modelling of polycrystalline thin film solar cells: new features in SCAPS version 2.3", Proceedings of the 3rd World Conference on Photovoltaic Energy Conversion (Osaka, Japan, may 2003), pp. 487-490, WCPEC-3, Osaka, 2003

A. Niemegeers and M. Burgelman, "Numerical modelling of ac-characteristics of CdTe and CIS solar cells", Proc. 25nd IEEE Photovol-taic Specialists Conference (Washington D.C., april 1996), pp. 901-904, IEEE, New-York, 1996 (Full text, pdf)

The programme runs on PC under Windows 95, 98, NT, 2000, XP, Vista, Windows 7, 8 and 10 and occupies about 50 MB of disk space.

It is is freely available to the PV research community (universities and research institutes, companies), however...

  • You should comply with some basic conditions: don't sell, don't distribute further, refer when you publish results obtained with SCAPS
  • You should send us an e-mail request: your name, full name and address of your university/institution/company with laboratory/department, and, if applicable, the name of your promoter/supervisor
  • Send your request to: Marc Burgelman

    SCAPS history

    SCAPS 3.3.10: MB. 26-11-2021: New update, but no new installation and no new new version number. Script command set layer.add_default also works for new problem (when no layer is present already).

    SCAPS 3.3.10: MB. 20-8-2021: New update, but no new installation and no new new version number. One little bug in the representation of one IPV rec/gen graph.

    SCAPS 3.3.10: MB. 10-4-2021: New update, new installation and new version number. Script support for simulating tandem cells. Detailed description in a new Chapter (Ch. 11) of the SCAPS users Manual.

    SCAPS 3.3.09: MB. 19-12-2020: New update, new installation and new version number. The number of scriptvaiables {m}index, {m}value and {m}vector has been increased from 6 to 26: the letter {m} now can be any letter out of (a, b, c, ..., z), instead of only (x, y, z,u, v,w) in SCAPS =< 3.3.08. As a result, there are changes in saving the script variables, and in passing variables to the SCAPSdll; in fact, these commands are doubled, with one format working as traditionally (for 6 variables) and another format working for all 26 possible -index, -value and -vector variables: see Manual.

    SCAPS 3.3.08: MB. 19-5-2020: New update, new installation and new version number. Two new script commands:
    save scriptvectors.asSCAPSgenerationfile xy filename and set generation.from_scriptvectors xy (see Manual)... and finally (!) a new verion number and installation package.

    SCAPS 3.3.07: MB. 25-12-2019: New update (including new .uir file!), but no new installation and no new version number. Relaxing of requirements for SCAPS input files (absorption, generation, grading, filter, IPV cross sections): SCAPS eliminates double input points, orders the file data properly, and forces extrapolated R and T data in the range [0,1]... but the warning for possibly erroneous input files is not given anymore.

    SCAPS 3.3.07: MB. 17-2-2019: New update, new installation but no new version number. A few new script commands. Better interpretation of complicated filenames (multiple dots, multiple spaces) in the script. A bug in representing interpolated alpha(lambda) when set "from model". Note: At 21-2-2019 there was a new version (.exe and .gui file), but no new installation and no new version number, that corrected a bug in the version of 17-2-2019. Only on 13-5-2019 this new version (thus 21-2-2019, without the bug) was included in a new installation package.

    SCAPS 3.3.07: MB. 18-1-2019: New update, but no new installation and no new version number. Small bug manifesting itself (sometimes) in tunnel simulations.

    SCAPS 3.3.07: MB. 7-11-2018: New update, but no new installation and no new version number. A bug in setting the capture cross sections of metastable transitions in the batch and the script. Improvement of output layout with Show buttons if a user runs SCAPS with a Run Time Engine of Labwindows/CVI (National Instruments) that is more recent then the version used in the development of SCAPS.

    SCAPS 3.3.07: MB. 6-10-2018: New update, but no new installation and no new version number. A (small) further precaution against (user introduced...) inconsistency in definition files.

    SCAPS 3.3.07: MB. 4-5-2018: New update, but no new installation and no new version number. A few more script commands (extract, save scriptvectors.asSCAPS...file, vectorscale and vectoroffset). User Manual updated.

    SCAPS 3.3.07: MB. 26-1-2018: New update, new installation and new version number. Two more grading laws: gaussian and complementary error function functions; these are relevant for grading of densities (shallow acceptors NA, shallow donors ND, defects Nt) by in-diffusion of impurities. Extension of the models for optical absorption: see a detailed Application Note. User Manual updated.

    SCAPS 3.3.06: MB. 17-10-2017: New update, new installation and new version number. Mott-Schottky analysis (Napparent(x) from C-V) improved to cover also layers with graded epsilon, or depletion layer extending over more than one layer, with different epsilons. More script commands. A (very) few bugs. See a detailed Application Note. User Manual update coming soon (but after holiday :-) ).

    SCAPS 3.3.05: MB. 24-8-2017: New update, but no new installation and no new version number. Spectral response SR (in A/W) added as an option to QE output. A bug in setting the generation attenuation from script. Improvements in the AS-analysis.

    SCAPS 3.3.05: MB. 30-12-2016: New update, new installation and new version number. New illumination facilities: spectrum from analytical models (including black body), generation profiles from analytical models, e.g. EBIC-like beams, see Application Note.

    SCAPS 3.3.04: MB. 9-10-2016: New update, new installation and new version number. Updating of screen during batch execution and/or script execution can be suppressed (gain of speed, though not too much...). Some new script commands. Units bug with number of photons for QE calculation, when set from script.. See manual.

    SCAPS 3.3.03: MB. 14-2-2016: New update, new installation and new version number. Grading files can now be shared over several adjacent layers. Simultaneous batch parameters are treated as one group of variables in the curve fitter, thus constituting only one curve fitting variable. See manual.

    SCAPS 3.3.02: MB. 2-10-2015: New update, but no new installation and no new version number. New script variables (points/decade and total points for C-f measurement; Mott-Schottky parameters and recalculate mesh parameters). Bug in reading Mott-Schottky parameters from def file. Button to reset all numerical parameters to default. See manual.

    SCAPS 3.3.02: MB. 6-7-2015: New update, new installation and new version number. A few bugs(sign of QE in an np structure; user interface cosmetics). Measurements can be weighted for total Chi-square calculation in the curve fitter. New script commands (listoffilenames; median; get Pi, Jideal,…; save generation as SCAPS generation file, …; a scalar Jtot next to the vector Jtot(x); … see manual). More precise numerical integration in G_cumulated, R_cumulated (see manual)..

    SCAPS 3.3.01: MB. 2-3-2015: New update, new installation and new version number. Graphical view of all graded parameters; facility to split a layer, conserving total thickness and grading proifile; new script commands for removing, adding, duplicating and splitting, and renaming a layer; for renaming an interface; for removing, adding and duplicating bulk and interface defects.

    SCAPS 3.3.00: MB. 19-2-2015: New update, but no new installation and no new version number. Flat band calculation also done when a problem is loaded from the command line, or from AllScaps, or from file. A refinement in the mesh generator. A bug in reading position-dependent grading from a file, for the 2nd... layer.

    SCAPS 3.3.00: MB. 6-9-2014: New update, but no new installation and no new version number. Adding columns with radiative and Auger recombination constants to the "Show Grading" output table; Adding checks for internally inconsistent .def files, that can occur when a user has manually edited existing .def files (this practice is strongly disadvised!).

    SCAPS 3.3.00: MB. 25-8-2014: New update, but no new installation and no new version number. Fixing of a minor bug in the flat band calculation, if there were charged deep defects, with energy defined "below EC." On demand: thickness range extended from 1 nm to 0.01 nm and from 10 cm to 100 cm; facility to display in another unit than micrometer (e.g. nm).

    SCAPS 3.3.00: MB. 18-5-2014: New update, new installation and new version number. Fixing of a few minor bugs in output files and graphs. User reference of the cell enabled: voltage applied to the left or to the right contact, current labeled positive when entering or leaving a specified contact.

    SCAPS 3.2.01: MB. 6-3-2014: New update and new installation; no new version number. Energy band calculation can now be saved and shown also when no I-V... simulation was done. The Save button on the Cell Definition Panel will save the cell definition with all the current changes, even when these changes are not yet confirmed with the OK button.

    SCAPS 3.2.01: MB. 15-11-2013: New update and new installation; no new version number. A minor bug in plotting G(x) profiles, when some data equalled zero; and in loading defects from a materials file. 4-12-2013: Bug fixed: apparent doping when CV was calculated from V<0 to V>0 (ordering of points).

    SCAPS 3.2.01: MB. 3-9-2013: New installation and update; no new version number. All parameters can now be graded from a file input.

    SCAPS 3.2.01: MB. 24-10-2012: New installation and update; no new version number. Minor bug with visibility of ND(x) and NA(x) options in layerpanel.

    SCAPS 3.2.01: MB. 24-10-2012: New installation and update; no new version number. Minor bug with visibility of ND(x) and NA(x) options in layerpanel.

    SCAPS 3.2.01: MB. 8-8-2012: New installation and update; no new version number. More options for loading/saving materials. SCAPS checks for unfound files in a problem before running, and allows to browse for existing files.

    SCAPS 3.2.01: KD&MB. 25-6-2012: New installation. A bug with tunneling (introduced with version 3.2.00) is fixed. Material files can be saved. Tunnel mechanism

    SCAPS 3.2.00: KD&MB. 2-5-2012: New update, no new installation. The complete initial state work point can now be saved and loaded form a file, and can be used as a batch patameter.

    SCAPS 3.2.00: KD&MB. 26-4-2012: New installation. Metastable defect states implemented. Some user interface improvements, e.g. normalised QEplots, better looking of the user interface (we hope).

    SCAPS 3.1.02: MB&KD. 15-10-2011: New installation. Built-in curve fitting facility. Panel to interpret admittance measurements (C(f)). A plot legend and selection facility.

    SCAPS 3.0.02: MB&KD. 27-5-2011: New installation. Many new script commands; scripts in scripts allowed; more examples of script files; some of these do curve fitting (calculation to measurement). Width of tail distributions and of gauss distribution (of defects) can be set by the user.

    SCAPS 3.0.00: MB.&KD. 10-3-2011: New installation. New tunnel facilities (eg tunneling to a contact). New script commands. A script editor. Renewed "calculate-part"of the action (main) panel..

    SCAPS 2.9.4: MB.&KD. 25-11-2010: New installation. New converntions for "uniform" grading. New output facilities: α(x, λ) from Show Graded Parameters; recording of graded parameters during batch calculation; separate contributions to bulk recombination: radiative, Auger, SRH (both graphs and table).

    SCAPS 2.9.3: MB.&KD. 11-10-2010: Small bugs (Nipeak of IF as batch parameter) and new facilities (zooming of grading graph and of redorder graph). M.B. 2-9-2010: New user facilities: load and save (not only def files, but also) the action panel, the batch settings, the recorder settings, the def file + all SCAPS settings in one file. All file-type parameters available as batch parameter (spectrum and generation files were implemented; now also absorption, filter and opt. capture files). Possibility of loading all setting files from a command line; then you can start-up SCAPS always with your settings, not with ours. A first script facility implemented: instead of working interactively, you can now also give a list of commands to be executed by SCAPS. A user function, in the form of a dll, is included; the user can replace this dll with her/his piece of programminmg. There is a new version number, but no installation package for now. To update, download the zip file, unpack it in your SCAPS directory, and place the files in the correct subdirectories (existing: /def, /bdf, ...) and new (/script, /results). The existing SCAPS 2.9.02 (or earlier) remains unchanged and available. MB 27-10-2010: the separate contributions to the recombination in the semiconductor layers (thus: SRH, direct band-to-band or radiative, Auger) are accessible on the IV-panel (plot, curve info and show/save), in the recuder settings and as output in the script.

    SCAPS 2.9.2: K.D. 18-6-2010: A new version with new physics! Defect states with more than two charge states (amphoteric states, double donors and acceptors, up to 7 charge levels (from -3 to + 3) can be custom defined). New recombination mechanims (direct band-to-band, Auger). Tunneling: intra-band tunneling and tunneling to interface states now completed and corrected (now from left and right; in conduction band and in valence band). And a great new feature for better comfort: the results of batch calculations can be internally recorded, so that afterwards graphs can be made of nearly everything against everything. Also, a batch calculation can use a list of def files, or gen files, or spe files. See the SCAPS 2.9 add-on manual.

    SCAPS 2.8.6: M.B. 5-3-2010: One bug corrected (about tunneling to IF states). Installation updated, but no new version number. For update from scaps 2.8.06 (26-2-2010) only update scaps2806.exe. For update from scaps 2.8.02 to scaps 2.8.05: copy scaps2806.exe, gui2806.uir and panelsize.txt. For update from earlier versions: use full installation. This version remains available, but will no longer be maintained, i.e. new features in SCAPS 2.9 will no longer be implemented in SCAPS 2.8.

    SCAPS 2.8.6: M.B. 26-2-2010: An attempt to make the user interface look better on various computers; it makes use of the panelsizefile.txt file, containing information on the panels as they were set up on the developer's computer. Some slight corrections in the EB and IV output lists concerning interfaces (the calculations and graphs were correct).

    SCAPS 2.8.5: M.B. 11-1-2010: In all former SCAPS versions, it happened that a panel requiring input was hidden inder other panels, and difficult to find; it could also happen that such panel dissapeared, which caused a hang-up of the programme. These problems have been fixed now. There are some limitations to the number and kind of panels that can be opened or operated simultaneously. Above all, the F1 key acts as an emergency button that brings the cell definition panel on top; on that panel, you find a new blue button that displays a nicely structured list of all input panels currently open, and that allows you to navigate between them (or to quit all input at once).

    SCAPS 2.8.4: M.B. 16-12-2009: Additional features: batch parameter values from file (instead of a lin or log range); "stop after Voc" of illuminated J-V; nicer ft plots; several user interface improvements; cumulated (=integrated) recombination and generated added to EB-panel output. Fixing of reported bugs: batch variation of Nt_total; initial (not) drawing of the Gen-Rec gaphs; last column of EB-panel output (recombination) corrected.

    SCAPS 2.8.3: M.B. 11-8-2009: Fixing of reported bugs: Now it is not possible to delete the one and only layer of a problem - The internal reflection/transmission parameters are consistently set also when defining a new problem - Compatibility with SCAPS2.7 when writing/reading def files containing Lkar in an exponential defect distribution - An error (factor 2) in the relation between toatal defect density (in 1/cm3) and peak density per energy (in 1/cm3/eV) for a gaussian defect distribution (sorry!).

    SCAPS 2.8.2: M.B. 30-7-2009: Modification to serve users/operation systems with non Latin character sets: files containing the author names "Malmström" and "Möller" are renamed to files containing "Malmstroem" and "Moeller" (four absorption files and one def file).

    SCAPS 2.8.2: M.B. 23-5-2009: Solar cells with graded properties and several minor additions, see the SCAPS2.8 add-on user manual.

    SCAPS 2.7.3: M.B. 11-11-2007: Enhanced user interface facilities: manual scaling, zoom and pan function on all graphs; information on curves and points upon mouse clicking in a graph; more parameters accessible as batch parameters; improvements in QE calculation, in treatment of spectrum cut-off and neutral density filters. Different display modes for J-V curves (J vs. V; J/Jsc vs. V; J-Jsc vs.V). Status as of November 2007.

    SCAPS 2.6.1: J.V. 13-3-2007: containing a batch mode facility, tunnel effects (intra-band tunneling, tunneling to interface states), optically active defects (IPV effect). Status as of end March 2007 (NUMOS Conference). All these extensions are due to Johan Verschraegen.

    SCAPS 2.5.1: J.V. 3/2007: Repair of a reported bug in the calculation of interface recombination, with a distribution of the interface states in energy.

    SCAPS 2.5: M.B. 8/2005: Facility to display IV, CV, Cf and QE measurement data from a user file. Output of SCAPS simulations (thus .iv, .cv, .cf or .qe files) are accepted as they are. The format for user files with measurements is quite general, see the examples that are distributed with the installation package.

    SCAPS 2.4: S.D. 10/2004: Repair of a reported bugs in the reading of an external generation profile file, containing many data points.

    SCAPS 2.4: S.D. 6/2004: Repair of reported bugs; consistent units for generation and absorption in output panels; Environment from LabWindows/CVI 5.0 to 7.0 (a National Instruments programme). As a result, the installation files exceed 5 Mb (7.3 Mb actually), which is inconvenient for most e-mail servers. Installation of this download-from-site facility.

    SCAPS 2.4: S.D. & M.B. 11/2004: optical generation profile can be user specified; external series resistance possible; new spectra and absorption files

    SCAPS 2.3: S.D. 12/2001; M.B. 9/2002: T(l) of front contact and R(l) of rear contact can be user specified; enhancement of calculation speed; enhancement of output plots (inclusion of date, problem file name, user comments); consistent use of cm-based unit system (cm-3, cm-2, Vcm-1, cm-1, )

    SCAPS 2.2: S.D., 9/2001: a(l) from file; spectral response with photon flux (particle flux or energy flux) specified by user; extra facilities for plotting QE(l)

    SCAPS 2.1: M.B., 1/99: general user interface; improvements of convergence; calculation of solar cell parameters (h, Voc , Jsc, FF), illumination from 2 sides, show-function

    SCAPS 2.0: A.N., 8/98: construction of the graphical user interface

    Research staff involved is:

    and former coworkers

    University of Gent, Dept. Electronics and Information Systems (ELIS)
    Pietersnieuwstraat 41
    B-9000 Gent , Belgium

    This page is maintained by Marc Burgelman, e-mail:
    Last maintenance on 23 february 2022