Examples Documentation Publications Download Licensing About
Contact

common settings

parameter(recommended) value rangedescription
Syntax’generic’, ‘front and rear contact unit cell’, ‘front and rear contact full cell’, ‘IBC’What syntax to use: ‘generic’ for full functionality or simplified ones for specific scope
DisplayPETSCResiduals1 / 0*force displing low-level electrical solver progress (useful for checking convergence progress)
CoordinateOutputUnit’m’, ‘cm’*, ‘mm’, ‘um’, ‘nm’sets the unit of coordinates in results file
SaveMaps1* / 0whether to force saving map results regardless of resultsfile size; when disabled, Quokka3 automatically decides based on an estimation of the size of the resultsfile
SaveSpatial1 / 0*whether to force saving spatial results regardless of resultsfile size; when disabled, Quokka3 automatically decides based on an estimation of the size of the resultsfile

Sweep

parameter(recommended) value rangedescription
Enable1 / 0*whether to perform a sweep
NGroups1..2number if independent sweep groups; 1 means group A only, 2 means group A and B; only for Enable = 1
GroupA(isweepA); only for Enable = 1
GroupB(isweepB); only for Sweep.NGroups = ‘2’

Sweep.GroupA

parameter(recommended) value rangedescription
Parameterany input parameter as a ‘string’
Valuesvector of values; all vector values within a group must have the same length

Sweep.GroupB

parameter(recommended) value rangedescription
Parameterany input parameter as a ‘string’
Valuesvector of values; all vector values within a group must have the same length

Optim

parameter(recommended) value rangedescription
Enable1 / 0*whether to perform an optimization task
JacobianOnly1 / 0*whether to only caculate and ouput the Jacobian at the inital guess; only for Enable = 1
MaxIterations1..25*..100maximum number of iterations; increase if you are getting MAXITER warnings
Variable(iopt); only for Enable = 1
Goal(igoal)define (mutiple) goals; for maximization / minimization exactly one goal has to be used; only for Enable = 1

Optim.Variable

parameter(recommended) value rangedescription
Parameterany input parameter as a ‘string’
Guessguess, used as start value
UpperBoundupper bound
LowerBoundlower bound
Link(iparam)input parameters linked to the main parameter, i.e. forced to have identical values
parameter(recommended) value rangedescription
Parametername of linked input parameter

Optim.Goal

parameter(recommended) value rangedescription
Type’max’, ‘min’, ‘single’, ‘curve’what kind of goal to achieve: maximize, minimize, match a single value, or curve-fit to either a curve or map result (line-average over the solution domain size for 3D)
Weightrelative weight for this goal for multiple goals
ResultNamename of scalar result of underlying simulation (datasetname in h5 file); only for Type = ‘max’, ‘min’, ‘single’
XResultNamename of curve result (datasetname in h5 file), or ‘sweep’ to use a sweep parameter as X-values; only for Type = ‘curve’
YResultNamename of curve result of underlying simulation (datasetname in h5 file); only for Type = ‘curve’
iSweepA0..1e+5this sets the index of the GroupA sweep point to be used for this goal; only for Sweep.Enable = 1 or XResultName = ‘sweep’
iSweepB0..1e+5this sets the index of the GroupB sweep point to be used for this goal; only for Sweep.Enable = 1 or Sweep.NGroups = ‘2’
Value; only for Type = ‘single’
Curvetabular data first column: ; second column:the curve to fit as XY data points; only for Type = ‘curve’
CurveWeightsType’equal’, ‘unity’*, ‘user’how to weight the individual points of this curve; ‘equal’ means all points are weighted with their inverse value (good for large absolute value differences), ‘unity’ means a weight of 1 for all points (better e.g. for a curve getting close to or going through 0), ‘user’ allows to give user-defined weights; only for Type = ‘curve’
CurveWeightsUservectoruser-defined weights for the curve fitting; must have exactly the same number of values as the X-values for the curve goal; only for CurveWeightsType = ‘user’
CurveRange; only for Type = ‘curve’

Optim.Goal(igoal).CurveRange

parameter(recommended) value rangedescription
Enable1 / 0*
Xmin; only for Enable = 1
Xmax; only for Enable = 1

’generic’ syntax

parameter(recommended) value rangedescription
Domaingeneral domain type and size settings
Solver
Thermal
ExternalCircuit; only for Solver.Electrical.Enable = 1
Bulk
Optical
SkinFeature(iskin)skin features
ContactFeature(icont)contact features
MetalFeature(imet)metal features
PadFeature(imet)pad features; only for Solver.Electrical.MetalModelType = ‘finite-differences’
Probe(iprobe)a probe senses the surface potential at the defined position; a scalar output for the skin potential, or, if a metal feature is present, of the metal potential is produced
Material

Domain

parameter(recommended) value rangedescription
DeviceType’semiconductor device’, ‘resistive device’, ‘semiconductor skin’type of device to simulate
Dimensions1..3domain dimensions; only for DeviceType = ‘semiconductor device’, ‘resistive device’
Wz0.1..1e+3 umvertical domain size / device thickness; this is the thickness of the device’s bulk material excluding thin films and metal layers, i.e. the wafer thickness; only for DeviceType = ‘semiconductor device’, ‘resistive device’
Wx1..5e+5 umdomain size in first lateral dimension (X-coordinate); only for Dimensions = ‘2’, ‘3’
Wy1..5e+5 umdomain size in second lateral dimension (Y-coordinate); only for Dimensions = ‘3’
MultiDomainset subdomains which represent the full domain to reduce mesh size and increase simulation speed; each subdomain needs to contain both polarity terminals (n-type + p-type pad / metal feature) for a contacted device; only for Dimensions = ‘2’, ‘3’

Domain.MultiDomain

parameter(recommended) value rangedescription
Enable1 / 0*
SubDomain(idomain); only for Enable = 1

Domain.MultiDomain.SubDomain

parameter(recommended) value rangedescription
AreaFraction0..1area fraction of the full domain this subdomain is representing
OriginX0..2e+5 umX-coordinate origin position
SizeX1..2e+5 umX-coordinate size
OriginY0..2e+5 umY-coordinate origin position; only for Domain.Dimensions = ‘3’
SizeY1..2e+5 umY-coordinate size; only for Domain.Dimensions = ‘3’
IsInner1 / 0*whether this subdomain represents solely the inner cell region; if set to true, the edge losses will be quantified by this subdomain’s power difference to the full cell

Solver

parameter(recommended) value rangedescription
SolutionType’single JV-point’, ‘Tc light JV’, ‘dark JV-curve’, ‘light JV-curve’, ‘sunsVoc-curve’, ‘QE-curve’, ‘Rs-curve’, ‘Rs-MPP’, ‘EL-PL’, ‘transient’, ‘skin single-point’, ‘skin QE-curve’, ‘Resistance’, ‘RAT’, ‘meshing only’The solution type defines what characteristic of the device to model, i.e. what kind of output to generate
JVCurve; only for SolutionType = ‘light JV-curve’, ‘dark JV-curve’
SunsVocCurve; only for SolutionType = ‘sunsVoc-curve’
SingleJVPoint; only for SolutionType = ‘single JV-point’
QECurve; only for SolutionType = ‘QE-curve’, ‘skin QE-curve’
RsCurve
Tc
ELPL; only for SolutionType = ‘EL-PL’
Electrical; not for SolutionType = ‘RAT’
IonPreBiasdefines the pre-bias operating point; only for ..Electrical.IonModelType = ‘pre-bias’
Illumination
PhotonRecycling
Luminescence
LuminescentCoupling
Skin; only for SolutionType = ‘skin single-point’, ‘skin QE-curve’
Transient; only for SolutionType = ‘transient’

Solver.JVCurve

parameter(recommended) value rangedescription
VtermStepSize’coarse’*, ‘standard’, ‘fine’, ‘user’how finely to place points on the JV curve; note that the light JV-curve algorithm will accuratyl determine Voc, Jsc and MPP regardless of this setting
VtermUservector -0.2..2.5 V; only for VtermStepSize = ‘user’

Solver.SunsVocCurve

parameter(recommended) value rangedescription
SunsStepSize’coarse’, ‘standard’*, ‘fine’, ‘user’how finely to place points on the suns-Voc curve
SunsUservector 1e-6..10; only for SunsStepSize = ‘user’

Solver.SingleJVPoint

parameter(recommended) value rangedescription
Type’Vintern’, ‘Vterm’, ‘Jterm’, ‘OC’, ‘MPP’, ‘Jsc’, ‘pMPP’, ‘intrinsic’operating point to solve; pMPP will give pFF; ‘intrinsic’ is only supported when using the 1D detailed solver
Vintern0..2 V; only for Type = ‘Vintern’
Vterm0..2 V; only for Type = ‘Vterm’
Jterm-200..200 mA/cm2; only for Type = ‘Jterm’

Solver.QECurve

parameter(recommended) value rangedescription
Type’biased’, ‘unbiased’
Side’front’, ‘rear’; not for …SolutionType = ‘skin QE-curve’
MonochromaticIlluminationType’constant Jgen’*, ‘Jph’
JgenMonochromatic0..100 mA/cm2monochromatic generation current density; additional for ‘biased’, total for ‘unbiased’; only for MonochromaticIlluminationType = ‘constant Jgen’
Jphtabular data first column: 250..1.8e+3 nm; second column: 0..10 mA/cm2monochromatic illumination current density as a function of wavelength; only for MonochromaticIlluminationType = ‘Jph’
WavelengthStepSize’coarse’, ‘standard’*, ‘fine’, ‘user’how finely to place points on the QE curve
WavelengthUservector 250..1.2e+3 nm; only for WavelengthStepSize = ‘user’
OperatingPoint’Vintern’, ‘Vterm’, ‘Jterm’, ‘MPP’, ‘Jsc’*at which operating point to perform QE simulation; defaults to Jsc which yields same results as zero terminal voltage, whereas the latter results in convergence problems
Vintern0..2 V; only for OperatingPoint = ‘Vintern’
Vterm0..2 V; only for OperatingPoint = ‘Vterm’
Jterm0..200 mA/cm2; only for OperatingPoint = ‘Jterm’

Solver.RsCurve

parameter(recommended) value rangedescription
VtermStepSize’coarse’*, ‘standard’, ‘fine’, ‘user’how finely to place points on the JV curve; note that the light JV-curve algorithm will accuratyl determine Voc, Jsc and MPP regardless of this setting
VtermUservector 0..2 V; only for VtermStepSize = ‘user’

Solver.Tc

parameter(recommended) value rangedescription
DeltaT-10..10 K; only for …SolutionType = ‘Tc light JV’

Solver.ELPL

parameter(recommended) value rangedescription
Type’PL’, ‘EL-Vterm’, ‘EL-Jterm’, ‘general-Vterm’, ‘general-Jterm’, ‘general-MPP’, ‘general-Jsc’what terminal condition to apply; ‘PL’ means open-circuit with illumination, ‘EL’-types mean without illumination, ‘general’-types mean user-defined illumination and terminal condition; ‘Vterm’-types apply a defined terminal voltage, ‘Jterm’-types a defined terminal current density, ‘MPP’ means maximum power point, ‘Jsc’ means Jsc condition (i.e. NOT strictly short-circuit)
Vterm0..2 Vterminal voltage; only for ..Type = ‘EL-Vterm’, ‘general-Vterm’
Jterm0..200 mA/cm2terminal current density; only for ..Type = ‘EL-Jterm’, ‘general-Jterm’

Solver.Electrical

parameter(recommended) value rangedescription
Enable1* / 0wether to solve electrical carrier transportonly if not determined by the solution type
VocGuess0.2..0.68*..2.5 Vguess of Voc; a good guess might help convergence and speed; for tandem / multijunction simulations, this Voc refers to the main subcell only
SkinJ0nieffonly if any of the skin’s recombination is defined via a J0
MetalModelType’finite-differences’, ‘constant-potential''finite-differences’ includes metal layer in carrier transport modeling; ‘constant-potential’ sets the metal layer to uniform potential with the respective polarity (i.e. disables lateral current transport losses in metal); only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’
NPMetalPadContact’error’*, ‘isolated’, ‘contact’defines the behavior for the case that a PadFeature covers a MetalFeatures with opposite polarity; ‘error’: gives error, ‘isolated’: assumes perfect isolation, ‘contact’: allows current flow over the defined contact resistivity of the pad; only for Domain.DeviceType = ‘semiconductor device’
BulkModelType’quasi-neutral’*, ‘full’, ‘equivalent-circuit’whether to model the bulk with the simplified quasi-neutral drift-diffusion model (=skin concept), or using the full drift-diffusion model (only in 1D), or as an equivalent circuit model (fastest, but neglegts vertical transport and current crowding effects); only for Domain.DeviceType = ‘semiconductor device’
JVVoltage
3T
IonModelType’full’*, ‘pre-bias’how to model ion transport; ‘pre-bias’ runs a separate simulation before the final steady-state simulation to find ion concentrations at the operating point defined by the Solver.IonPreBias group, and then fixes the ion concentration for the actual solution type simulation; useful e.g. for simulating a rapid JV-curve measurement sufficiently fast so ions can be assumed to be immobile, after a specific pre-bias condition

Solver.Electrical.SkinJ0nieff

parameter(recommended) value rangedescription
Type’user-T’, ‘user-const’how to set the value for nieff which was assumed during determination of J0 values; ‘user-T’ uses the material models for determining nieff for the given temperature
T293..300 Ktemperature assumed during determination J0 values; only for Type = ‘user-T’
Const8e+9..1.200e+10 cm-3nieff assumed during determination J0 values; only for Type = ‘user-const’

Solver.Electrical.JVVoltage

parameter(recommended) value rangedescription
Type’default’*, ‘Probe’which voltage to use for JV calculations (JV-curve etc.): ‘default’ is the terminal voltage after external circuit elements; ‘Probe’ uses potentials at user-defined Probes, useful to represent 4-wire measurements; note that ‘Probe’ disregards external Rseries
NProbename of the Probe which senses the n-polarity potential; only for ..Type = ‘Probe’
PProbename of the Probe which senses the p-polarity potential; only for ..Type = ‘Probe’

Solver.Electrical.3T

parameter(recommended) value rangedescription
Enable1 / 0*whether to account for the third applied potential in a three-terminal device
PrimaryJV’maincell’*, ‘subcell’which cell is the primary cell, defining the primary voltage and current for 3T JV solutions; ‘maincell’ means the cell with bulk absorber, ‘subcell’ means the subcell defined within the skin; only for ..Enable = 1
SecondaryVoltage
MPPType’primary cell’, ‘both cells’whether MPP is defined by the power of the primary cell, or by the power of both cells, i.e. the total 3T power; the latter does not give a FF value, as there is no unique 3T JV-curve, but gives the true 3T device efficiency; only for ..Enable = 1
Solver.Electrical.3T.SecondaryVoltage
parameter(recommended) value rangedescription
Type’Vintern’, ‘voltage-match’how to set the secondary cell voltage; either directly defining ‘Vterm’ or ‘Vintern’, or defining a fixed voltage-match ratio; only for …Enable = 1
Vintern0..2 Vsecondary internal voltage (free from external circuit elements impact); only for ..Type = ‘Vintern’
VoltageMatchRatio0.5..3.5fixed ratio of subcell over maincell voltage, e.g. 1.5 for voltage-matching 2 subcells with 3 maincells; only for ..Type = ‘voltage-match’

Solver.IonPreBias

parameter(recommended) value rangedescription
Type’Vintern’, ‘Vterm’, ‘Jterm’, ‘OC’, ‘MPP’, ‘Jsc’, ‘pMPP’, ‘intrinsic’operating point to solve; pMPP will give pFF; ‘intrinsic’ is only supported when using the 1D detailed solver
Vintern0..2 V; only for Type = ‘Vintern’
Vterm0..2 V; only for Type = ‘Vterm’
Jterm-200..200 mA/cm2; only for Type = ‘Jterm’
GenerationScale0..1*..10scales generation for the pre-bias operating point

Solver.Illumination

parameter(recommended) value rangedescription
Enable1 / 0wether to solve illumination / generationonly if if not determined by the solution type

Solver.PhotonRecycling

parameter(recommended) value rangedescription
Enable1 / 0*wether to account for reabsorption of radiative recombination contributing to generation); only for Solver.Electrical.Enable = 1

Solver.Luminescence

parameter(recommended) value rangedescription
Enable1 / 0*wether to solve luminescenceonly if not determined by solution type, or if photon recycling is enabled

Solver.LuminescentCoupling

parameter(recommended) value rangedescription
Enable1 / 0*for tandem simulation only: whether to account for additional bottom-cell generation by top-cell luminescence; only for …Luminescence.Enable = 1

Solver.Skin

parameter(recommended) value rangedescription
Namename of SkinFeature to be solved
QFPsplit0..2 Vbulk-side quasi-Fermi level split
Jskin-100..0*..100 mA/cm2net current density through skin

Solver.Transient

parameter(recommended) value rangedescription
StartType’standard’, ‘intrinsic’, ‘Vterm’, ‘Jterm’, ‘OC’defines the steady-state condition at t = 0: ‘standard’ uses the first JVinput data point, ‘intrinsic’ means dark open-circuit conditions
VtermStart0..2 V; only for StartType = ‘Vterm’
JtermStart-200..200 mA/cm2; only for StartType = ‘Jterm’
GenerationScaleStart0..1*..10scales generation for the steady-state condition at t=0; not for StartType = ‘standard’, ‘intrinsic’
TimeSpan0..1.000e+10 stotal time span to simulate
JVType’Vterm’, ‘Jterm’, ‘OC’whether a transiently varying terminal voltage or current density is applied, or whether open-circuit is assumed
Vtermtabular data first column: 0..200 s; second column: 0..2 Vterminal voltage as a function of time; only for JVType = ‘Vterm’
Jtermtabular data first column: 0..200 s; second column: -200..200 mA/cm2terminal current density as a function of time; set to zero to simulate a device at open-circuit; only for JVType = ‘Jterm’
GenerationScaletabular data first column: 0..1e+6 s; second column: 0..10scaling factor for the optical generation as a function of time; only for Solver.Illumination.Enable = 1
SnapshotTimesvector 0..0*..1.000e+10 stime points at which to store spatial and maps data in the results files
MaxChange0..0.1*..1maximum allowed change of charge carrier densities during a single time-step; a lower value results in smaller time-steps, i.e. more stable simulation at the cost of higher computation time
Inflation1..1.3*..2by how much a subsequent time-step can be increased relative to the former one; a lower value results in smaller time-steps, i.e. more stable simulation at the cost of higher computation time
MaxTimeStep0..1.000e+10*..1.000e+10 ssets an upper limit to any time-step; a lower value results in smaller time-steps, i.e. more stable simulation at the cost of higher computation time
MaxInitialTimeStep0..1e-8*..1e-4 ssets an upper limit to the initial time-step; a lower value results in smaller time-steps, i.e. more stable simulation at the cost of higher computation time
Theta0..0.55*..1factor influencing the time integration method: 1 means fully implicit, 0 means fully explicit, 0.5 means Crank-Nicolson
SteadyStateEHTransportOnsetstime after which electron and hole transport are considered quasi-steady-state; largerly speeds up simulation for large time steps; this is important in particular for simulating devices with relatively slow ions, you can set this value to zero to solely look at the ionic transient, or to a small value like one second to account for the initial electronic transient response ; high default value means that by default full transient electronic response is considered during the entire solution time period

Thermal

parameter(recommended) value rangedescription
T250..298.2*..350 Kdevice temperature

ExternalCircuit

parameter(recommended) value rangedescription
Enable1 / 0*; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’
Rseries0..10 Ohmcm2series resistance additional to series-resistance effects within solution domain; only for Enable = 1
Rshunt100..1.000e+10 Ohmcm2shunt / parallel resistance; only for Enable = 1
DiodeJ00..1e-4 Acm-2saturation current density of external diode; only for Enable = 1
DiodeIdeality1..3ideality factor of external diode; only for Enable = 1

Bulk

parameter(recommended) value rangedescription
Mesh; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’
Exclude1 / 0*whether to exclude bulk from solution domain within a resistive device simulation; useful e.g. for efficient emitter TLM simulation; only for Domain.DeviceType = ‘resistive device’
Electrical; only for Solver.Electrical.Enable = 1
Material
BackgroundDoping

Bulk.Mesh

parameter(recommended) value rangedescription
Quality’coarse’*, ‘standard’, ‘fine’, ‘very-fine’, ‘user’how fine to discretize; note that the automatic meshing is scoped in such way that a ‘coarse’ mesh will result in sufficient numerical accuracy in most cases, and is thus the default
dzmin1e-4..10 umminimum vertical element size; z - direction; only for Quality = ‘user’
dzmax1..1e+4 ummaximum vertical element size; z - direction; only for Quality = ‘user’
dzProfiletabular data first column: 0..1e+6 um; second column: 1e-4..1e+18*..10 umupper limit of vertical element size as a function of depth from the surface (front surface for bulk mesh, outer surface for skin mesh); defaults to a very high value which has no effect
inflation1..4maximum allowed ratio in size of neighboring elements; only for Quality = ‘user’
resolution3..30minimum amount of elements between any feature edges; only for Quality = ‘user’
dxmin0.1..10 umminimum lateral element size; x - direction; only for Quality = ‘user’
dxmax1..1e+4 ummaximum lateral element size; x - direction; only for Quality = ‘user’
dymin0.1..10 umminimum lateral element size; y - direction; only for Quality = ‘user’
dymax1..1e+4 ummaximum lateral element size; y - direction; only for Quality = ‘user’
dedgemin0.1..1*..10 umminimum lateral element size at non-symmetry edges; only for Quality = ‘user’

Bulk.Electrical

parameter(recommended) value rangedescription
EQCInputType’semiconductor properties’*, ‘J0’how to define the bulk properties in case of equivalant-circuit bulk modeling; either via the semiconductor properties same as for drift-diffusion (band-gap, DOS, SRH defects etc.) or via an effective J0; only for Solver.Electrical.BulkModelType = ‘equivalent-circuit’
J0A/cm2J0 value effectively representing bulk recombination; only for EQCInputType = ‘J0’
J0Ideality0..1*..2; only for EQCInputType = ‘J0’
Recombination; only for Domain.DeviceType = ‘semiconductor skin’ or Solver.Electrical.BulkModelType = ‘quasi-neutral’, ‘full’ or EQCInputType = ‘semiconductor properties’

Bulk.Electrical.Recombination

parameter(recommended) value rangedescription
Type’off’, ‘intrinsic’, ‘intrinsic plus SRH’, ‘fixed-lifetime’, ‘intrinsic plus fixed-lifetime’, ‘lifetime-curve’, ‘lifetime-images’
SRH(iSRH)SRH recombination; only for Type = ‘intrinsic plus SRH’
FixedLifetime0.01..1e+6 usfixed lifetime; only for Type = ‘fixed-lifetime’, ‘intrinsic plus fixed-lifetime’
LifetimeCurvetabular data first column: 1e+5..1e+18 cm-3; second column: 1..1e+5 usbulk lifetime as a function of excess carrier density including intrinsic recombination; only for Type = ‘lifetime-curve’
LifetimeImages; only for Type = ‘lifetime-images’
Bulk.Electrical.Recombination.SRH
parameter(recommended) value rangedescription
Type’tau-Et’, ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘BO-Altermatt2011’, ‘inactive-doping’how to model SRH recombination; SRH settings are only applied for the ‘intrinsic plus SRH’ recombination type; the ‘sigma-Et-Nt-general’ type uses the general SRH formalism and can be set for a single defect and for 1D simulations only; all other types use the simplified SRH formalism
Et_Ei-1..1 eVdefect energy level relative to intrinsic energy; only for Type = ‘tau-Et’, ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’
taun0.01..1e+5 usfundamental electron lifetime; only for Type = ‘tau-Et’
taup0.01..1e+5 usfundamental hole lifetime; only for Type = ‘tau-Et’
NtType’fixed’*, ‘profile’whether the defect density is given as a fixed value, or as function of depth; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’
Nt0..1e+17 cm-3fixed defect density; only for NtType = ‘fixed’
NtProfiletabular data first column: 0..1e+3 um; second column: 0..1e+17 cm-3defect density as a function of depth; only for NtType = ‘profile’
sigman1e-21..1e-9 cm2electron capture cross section; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’
sigmap1e-21..1e-9 cm2hole capture cross section; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’
vth1e+5..2e+7*..1e+9 cms-1thermal velocity for this defect; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’
vthTdep1 / 0*whether to model temperature dependence of the thermal velocity via scaling vth by sqrt(T/300K); if disabled, vth is constant; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’
BO_Oi0..1e+17 cm-3oxygen concentration; only for Type = ‘BO-Altermatt2011’
BO_m1..3process related scaling parameter for degreaded lifetime; only for Type = ‘BO-Altermatt2011’
BO_DeactivationFraction0..1fraction of deactivated BO defect; only for Type = ‘BO-Altermatt2011’
Bulk.Electrical.Recombination.LifetimeImages
parameter(recommended) value rangedescription
ImageList(iimg)list of lifetime images at different illumination intensities / generation rates
PixelSize1..1e+3 umsize of the square area represented by one pixel
SplitIntrinsic1* / 0splits the lifetime into the intrinsc part (Auger and radiative recombination) and remaining extrinsic part; useful for more physical loss analysis and extrapolation in high-injection; must be disabled if the lifetime exceeds the intrinsic limit; WARNING: must be enabled when detailed skins are used, as Auger recombination due to high doping will otherwise be missing
MinimumLifetime0.01..1*..10 usminimum local lifetime applied as a lower cut-off when importing lifetime images; (very low local lifetime values can result in convergence problems)
Smoothing1* / 0smooth each pixel’s lifetime-curve
OutlayerThreshhold0..1*..1 fracthreshhold for outlayer removal: if a pixel’s lifetime value deviates more than this percentage from the average of the two neighboring injection level one’s, it is set to this average; set to a very high value to effectively disable outlayer removal
Bulk.Electrical.Recombination.LifetimeImages.ImageList
parameter(recommended) value rangedescription
Filename of image file containing bulk lifetime as a 2D array either as *.tif file or as delimited ascii text file; unit of lifetime must be microseconds; expects total lifetime including intrinsic recombination
GenerationRate1.000e+10..1.000e+20 cm-3s-1generation rate for this image

Bulk.BackgroundDoping

parameter(recommended) value rangedescription
SettingType’dopingtype-resistivity’, ‘NA-ND’*, ‘NA-ND-profile’whether doping is set via the doping type and a resistivity value, or directly via acceptor and donor concentrations; only for Domain.DeviceType = ‘semiconductor device’, ‘semiconductor skin’
DopingType’n-type’, ‘p-type’doping type; only for SettingType = ‘dopingtype-resistivity’
Resistivity0.1..100 Ohmcm; not for …Exclude = 1 or SettingType = ‘dopingtype-resistivity’
NA0..1e+17 cm-3acceptor concentration; only for SettingType = ‘NA-ND’
ND0..1e+17 cm-3donor concentration; only for SettingType = ‘NA-ND’
NAprofiletabular data first column: 0..1e+3 um; second column: 1.000e+10..1e+22 cm-3acceptor concentration as a function of distance to the bulk material’s front side (including front-side near-surface layer); only for SettingType = ‘NA-ND-profile’
NDprofiletabular data first column: 0..1e+3 um; second column: 1.000e+10..1e+22 cm-3donor concentration as a function of distance to the bulk material’s front side (including front-side near-surface layer); only for SettingType = ‘NA-ND-profile’

Optical

parameter(recommended) value rangedescription
Luminescence; only for Solver.Luminescence.Enable = 1
GenerationModelType’defined-generation’, ‘Text-Z’, ‘SunSolve’how to model generation, either by user-defined generation rate, or using the Text-Z model; if selecting ‘SunSolve’, ray-tracing results from the PV Lighthouse SunSolveTM can be easily imported to Quokka3; only for Solver.Illumination.Enable = 1
DefinedGenerationsettings for user-defined generation rate; only for GenerationModelType = ‘defined-generation’
CorrectToKnownJgen1 / 0*scales the generation profile to match a known generation current density; useful to correct for numerical errors (from interpolation and integration); note that this is current density AFTER scaling with FrontIllumination.Scale / RearIllumination.Scale, but before ScaleGeneration; only for Solver.Illumination.Enable = 1
Jgen0.1..100 mAcm-2known generation current density; only for ..CorrectToKnownJgen = 1
ScaleGeneration0.01..1*..5scales the generation for the main purpose of empirically matching Jsc; this does not scale the illumination for efficiency calculation: if you want correct efficiency as a function of illumination (=suns), scale the illumination instead; only for Solver.Illumination.Enable = 1
FrontIllumination; only for ..GenerationModelType = ‘Text-Z’, ‘SunSolve’
RearIllumination; only for ..GenerationModelType = ‘Text-Z’, ‘SunSolve’
MonochromaticIlluminationadditional monochromatic illumination; used e.g. by QE solution types; only for ..GenerationModelType = ‘Text-Z’, ‘SunSolve’
Illumination
TextZ; only for Optical.GenerationModelType = ‘Text-Z’ or Optical.Luminescence.ReabsorptionModelType = ‘Text-Z’
SunSolveDefine the solar cell’s optical properties, excluding illumination settings, via importing a SunSolve (by PVLightouse) file; only for Optical.GenerationModelType = ‘SunSolve’

Optical.Luminescence

parameter(recommended) value rangedescription
ReabsorptionModelType’Text-Z’, ‘ideal’*how to account for reasborption: either modeled via the ‘Text-Z’ model, or assuming ideal Lambertian surfaces
Scale0..1*..1e+15simply scales the resulting luminescence signal; useful to calibrate to experimental units like counts / pixel / second
OpticsAcceptanceAngle0..1*..1 srsolid angle of acceptance of the detection optics in steradian, should not be larger than one as a large value will invalidate some modeling assumptions
OpticsTransmissiontabular data first column: 250..1.8e+3 nm; second column: 0..1*..1spectral transmission of the detection optics, including filter transmission
SensorEQE
DetectionSide’front’*, ‘rear’on which side the luminescence signal should be detected
WavelengthRangeType’auto’*, ‘user’defines at which wavelengths to perform luminescence modeling
WavelengthRangeUservector 250..1.5e+3 nmuser-defined wavelength range; only for WavelengthRangeType = ‘user’

Optical.Luminescence.SensorEQE

parameter(recommended) value rangedescription
Type’typical-Si’*, ‘user’EQE of the sensor / camera / detector; ‘typical-Si’ assumes Lambert-Beer absorption in a 55um thick Si sensor
Usertabular data first column: 250..1.8e+3 nm; second column: 0..1; only for Type = ‘user’

Optical.DefinedGeneration

parameter(recommended) value rangedescription
Type’uniform-G’, ‘uniform-Jgen’, ‘profile’how to define the generation rate, either uniform with user-defined generation rate or current density, or from generation profile
UniformG0..1e+19 cm-3s-1uniform generation rate; only for Type = ‘uniform-G’
UniformJgen0..1e+5 mA/cm2generation current density; for tandem: in the main cell containting the bulk material; only for Type = ‘uniform-Jgen’
UniformJgenFrontSubcell0..0*..1e+5 mA/cm2generation current density in the front subcell(s); only for Type = ‘uniform-Jgen’
UniformJgenRearSubcell0..0*..1e+5 mA/cm2generation current density in the rear subcell(s); only for Type = ‘uniform-Jgen’
Profiletabular data first column: 0..1e+3 um; second column: 0..1e+24 cm-3s-1generation profile; only for Type = ‘profile’
IlluminationSide’front’*, ‘rear’which side of the device is illuminated, i.e. the side which corresponds to the zero depth value of the input profile
IlluminationIntensity0..100*..1e+3 mW/cm2illumination intensity required for efficiency calculation; set to 0 if unknown to not calculate efficiency

Optical.FrontIllumination

parameter(recommended) value rangedescription
Enable1 / 0*enable or disable illumination on the respective side
Scale0..1*..10scaling factor of the illumination; equivalent to suns (only!) if the defined spectrum represents one sun
Spectrumtabular data first column: 250..5e+3 nm; second column: 0..0*..100 mWcm-2nm-1illumination spectrum; only for ..Enable = 1
Shape’full’*, ‘rectangle’, ‘circle’
PositionX-1e+6..1e+6 um; not for Shape = ‘full’
PositionY-1e+6..1e+6 um; not for Shape = ‘full’ or Domain.Dimensions = ‘3’
SizeX1..1e+6 um; only for Shape = ‘rectangle’
SizeY1..1e+6 um; only for Shape = ‘rectangle’ or Domain.Dimensions = ‘3’
Diameter1..1e+6 um; only for Shape = ‘circle’

Optical.RearIllumination

parameter(recommended) value rangedescription
Enable1 / 0*enable or disable illumination on the respective side
Scale0..1*..10scaling factor of the illumination; equivalent to suns (only!) if the defined spectrum represents one sun
Spectrumtabular data first column: 250..5e+3 nm; second column: 0..0*..100 mWcm-2nm-1illumination spectrum; only for ..Enable = 1
Shape’full’*, ‘rectangle’, ‘circle’
PositionX-1e+6..1e+6 um; not for Shape = ‘full’
PositionY-1e+6..1e+6 um; not for Shape = ‘full’ or Domain.Dimensions = ‘3’
SizeX1..1e+6 um; only for Shape = ‘rectangle’
SizeY1..1e+6 um; only for Shape = ‘rectangle’ or Domain.Dimensions = ‘3’
Diameter1..1e+6 um; only for Shape = ‘circle’

Optical.MonochromaticIllumination

parameter(recommended) value rangedescription
Enable1 / 0*enable / disable monochromatic illumination; not for Solver.SolutionType = ‘QE-curve’, ‘skin QE-curve’
Side’front’, ‘rear’on which side monochromatic illumination is applied; for a QE-curve, the side is determined by Solver.QECurve.Side instead; only for ..Enable = 1
Wavelength250..2e+3 nmwavelength for monochromatic illumination; only for ..Enable = 1
Flux1e+15..1e+18 cm-2s-1photon flux for monochromatic illumination; only for ..Enable = 1
Shape’full’*, ‘rectangle’, ‘circle’
PositionX-1e+6..1e+6 um; not for Shape = ‘full’
PositionY-1e+6..1e+6 um; not for Shape = ‘full’ or Domain.Dimensions = ‘3’
SizeX1..1e+6 um; only for Shape = ‘rectangle’
SizeY1..1e+6 um; only for Shape = ‘rectangle’ or Domain.Dimensions = ‘3’
Diameter1..1e+6 um; only for Shape = ‘circle’

Optical.Illumination

parameter(recommended) value rangedescription
WavelengthRangeType’auto’*, ‘user’defines at which wavelengths to solve generation
WavelengthRangeUservector 250..1.5e+3 nmuser-defined wavelength range; only for WavelengthRangeType = ‘user’

Optical.TextZ

parameter(recommended) value rangedescription
FrontZlight-trapping / pathlength enhancement settings for front illumination; only for Optical.FrontIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘front’ or Solver.QECurve.Side = ‘front’ or Optical.MonochromaticIllumination.Side = ‘front’ or Domain.DeviceType = ‘semiconductor device’
RearZlight-trapping / pathlength enhancement settings for front illumination; only for Optical.RearIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘rear’ or Solver.QECurve.Side = ‘rear’ or Optical.MonochromaticIllumination.Side = ‘rear’ or Domain.DeviceType = ‘semiconductor device’
Basoresettings to calculate light trapping (Z) via the extended Basore model; only for Optical.TextZ.FrontZ.Type = ‘Basore’, ‘from FrontRtot’, ‘from RearRtot’, ‘from FrontRtot and RearRtot’ or Optical.TextZ.RearZ.Type = ‘Basore’, ‘from FrontRtot’, ‘from RearRtot’, ‘from FrontRtot and RearRtot’
FrontTextexternal transmission of the front side; only for Optical.FrontIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘front’ or Solver.QECurve.Side = ‘front’ or Optical.MonochromaticIllumination.Side = ‘front’
RearTextexternal transmission of the rear side; only for Optical.RearIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘rear’ or Solver.QECurve.Side = ‘rear’ or Optical.MonochromaticIllumination.Side = ‘rear’
FrontRtottabular data first column: 200..2.5e+3 nm; second column: 0..1measured total reflection, including escape reflection, used for determining Text and / or Z; only for Optical.TextZ.FrontText.Type = ‘from Rtot’ or Optical.TextZ.FrontZ.Type = ‘from FrontRtot’ or Optical.TextZ.RearZ.Type = ‘from FrontRtot’ or Optical.TextZ.FrontZ.Type = ‘from FrontRtot and RearRtot’ or Optical.TextZ.RearZ.Type = ‘from FrontRtot and RearRtot’
RearRtottabular data first column: 200..2.5e+3 nm; second column: 0..1measured total reflection, including escape reflection, used for determining Text and / or Z; only for Optical.TextZ.RearText.Type = ‘from Rtot’ or Optical.TextZ.FrontZ.Type = ‘from RearRtot’ or Optical.TextZ.RearZ.Type = ‘from RearRtot’ or Optical.TextZ.FrontZ.Type = ‘from FrontRtot and RearRtot’ or Optical.TextZ.RearZ.Type = ‘from FrontRtot and RearRtot’

Optical.TextZ.FrontZ

parameter(recommended) value rangedescription
Type’user’, ‘parameterization’, ‘4n2-limit’, ‘Green02-limit’, ‘2D-grating-limit’, ‘Basore’, ‘from FrontRtot’, ‘from RearRtot’, ‘from FrontRtot and RearRtot’, ‘local’how to define light-trapping / the pathlength enhancement factor; ‘local’ means using the internal optical properties of the skins, which means using the Basore model in case of lumped internal optical properties; the ‘from Rtot’ options fit the Basore model to Rtot (may be fitted to both sides Rtot for better fit accuracy)
LatticeSpacing0.1..10 umlattice spacing for 2D grating limit, see Green et al. 2022; only for Type = ‘2D-grating-limit’
LatticeType’hexagonal’*, ‘square’type of lattice: ‘square’ for e.g. inverted pyramids ‘hexagonal’ for e.g. honeycomb texture; see Green et al. 2022; only for Type = ‘2D-grating-limit’
Usertabular data first column: 0..1e+7 cm-1; second column: 1..100define Z as a function of absorption coefficient [cm-1]; only for Type = ‘user’
Z01..100Z parameter representing the low absorption limit (near band gap); only for Type = ‘parameterization’
Zinf1..10Z parameter representing the high absorption limit; only for Type = ‘parameterization’
Zp1..10parameter influencing the trend between Z0 and Zinf; only for Type = ‘parameterization’

Optical.TextZ.RearZ

parameter(recommended) value rangedescription
Type’user’, ‘parameterization’, ‘4n2-limit’, ‘Green02-limit’, ‘2D-grating-limit’, ‘Basore’, ‘from FrontRtot’, ‘from RearRtot’, ‘from FrontRtot and RearRtot’, ‘local’how to define light-trapping / the pathlength enhancement factor; ‘local’ means using the internal optical properties of the skins, which means using the Basore model in case of lumped internal optical properties; the ‘from Rtot’ options fit the Basore model to Rtot (may be fitted to both sides Rtot for better fit accuracy)
LatticeSpacing0.1..10 umlattice spacing for 2D grating limit, see Green et al. 2022; only for Type = ‘2D-grating-limit’
LatticeType’hexagonal’*, ‘square’type of lattice: ‘square’ for e.g. inverted pyramids ‘hexagonal’ for e.g. honeycomb texture; see Green et al. 2022; only for Type = ‘2D-grating-limit’
Usertabular data first column: 0..1e+7 cm-1; second column: 1..100define Z as a function of absorption coefficient [cm-1]; only for Type = ‘user’
Z01..100Z parameter representing the low absorption limit (near band gap); only for Type = ‘parameterization’
Zinf1..10Z parameter representing the high absorption limit; only for Type = ‘parameterization’
Zp1..10parameter influencing the trend between Z0 and Zinf; only for Type = ‘parameterization’

Optical.TextZ.Basore

parameter(recommended) value rangedescription
Front
Rear
Optical.TextZ.Basore.Front
parameter(recommended) value rangedescription
RintIdeal1 / 0*when enabled, the internal reflection will is set the the ideal Lambertian limit: Rint = 1-1/n^2; only for Optical.TextZ.FrontZ.Type = ‘Basore’ or Optical.TextZ.RearZ.Type = ‘Basore’
Rint0..1internal reflection; nth pass only if RintFirstEnable is enabled; on the illuminated side, Rint will internally be limited to the Lambertian limit of 1-n^2 to ensure physical consistency; not for RintIdeal = 1 or Optical.TextZ.FrontZ.Type = ‘Basore’ or Optical.TextZ.RearZ.Type = ‘Basore’
RintFirstEnable1 / 0*enable setting the first-pass internal reflection different to subsequent passes; not for RintIdeal = 1 or Optical.TextZ.FrontZ.Type = ‘Basore’ or Optical.TextZ.RearZ.Type = ‘Basore’
RintFirst0..1; only for RintFirstEnable = 1
Diffuse1 / 0whether internal reflection is diffuse (fully scattered)
Scatter1 / 0*whether incident light is fully scattered during the first external pass
ApppType’user’*
Appp0..0*..1parasitic absorption fraction per perpendicular pass through this skin; only for ApppType = ‘user’
Optical.TextZ.Basore.Rear
parameter(recommended) value rangedescription
RintIdeal1 / 0*when enabled, the internal reflection will is set the the ideal Lambertian limit: Rint = 1-1/n^2; only for Optical.TextZ.FrontZ.Type = ‘Basore’ or Optical.TextZ.RearZ.Type = ‘Basore’
Rint0..1internal reflection; nth pass only if RintFirstEnable is enabled; on the illuminated side, Rint will internally be limited to the Lambertian limit of 1-n^2 to ensure physical consistency; not for RintIdeal = 1 or Optical.TextZ.FrontZ.Type = ‘Basore’ or Optical.TextZ.RearZ.Type = ‘Basore’
RintFirstEnable1 / 0*enable setting the first-pass internal reflection different to subsequent passes; not for RintIdeal = 1 or Optical.TextZ.FrontZ.Type = ‘Basore’ or Optical.TextZ.RearZ.Type = ‘Basore’
RintFirst0..1; only for RintFirstEnable = 1
Diffuse1 / 0whether internal reflection is diffuse (fully scattered)
Scatter1 / 0*whether incident light is fully scattered during the first external pass
ApppType’user’*
Appp0..0*..1parasitic absorption fraction per perpendicular pass through this skin; only for ApppType = ‘user’

Optical.TextZ.FrontText

parameter(recommended) value rangedescription
Type’Text’*, ‘SQ subcell limit’, ‘Beer-Lambert subcell limit’, ‘from Rtot’, ‘detailed’, ‘local''Text’: directly set Text (and Aext and Agen); ‘SQ subcell limit’: (for tandem only) assume 100% generation / zero transmission above, and 100% transmission below the subcell material’s band-gap; ‘Beer-Lambert subcell limit’: (for tandem only) assume zero reflection and parasitic absorption and determine Agen from material’s absorption coefficient and subcell layer thickness using Beer-Lambert law; ‘from Rtot’: let Quokka3 determine Text from the total reflection Rtot (and Aext); ‘detailed’: detailed modeling of external optics (simplified raytracing + TMM); ‘local’: define Text for each skin individually
Texttabular data first column: 200..1.8e+3 nm; second column: 0..1external transmission including Aext (and Agen, if a subcell is present on this side); only for Type = ‘Text’
Aexttabular data first column: 200..2.5e+3 nm; second column: 0..0*..1absorption in illuminated side films during first light pass (usually non-zero only for short-wavelength region); if Text is determined from Rtot, Aext must still be defined here, as Aext can not (yet) automatically be determined from the total reflection; not for Type = ‘local’
Agentabular data first column: 200..2.5e+3 nm; second column: 0..0*..1active absorption in illuminated side subcell as contained in Text, applied only if the skin contains a subcell within a tandem simulation; not for Type = ‘local’
FacetAngle0..90 degcharacteristic facet angle of surface morphology for modeling light-trapping via Basore model; 0 for planar, ~54 deg for textured; this value must always be given when defined for an individual skin, but will only have an effect if light-trapping is modelled via the Basore model; only for Optical.TextZ.FrontZ.Type = ‘from FrontRtot’, ‘from FrontRtot and RearRtot’ or Optical.TextZ.RearZ.Type = ‘from FrontRtot’, ‘from FrontRtot and RearRtot’ or Optical.TextZ.FrontZ.Type = ‘local’, ‘Basore’ or Type = ‘Text’, ‘detailed’, ‘from Rtot’
IncludeShading1 / 0*whether to lump the metal shading fraction determined by the metal correction of Rtot effectively into Text; this should be enabled e.g. for a 1D simulation with an Rtot measurement including metal reflection, to consider the influence of shading on absorption (=generation current) and transmission; only for Type = ‘from Rtot’
Detailed; only for Type = ‘detailed’
Layer(ilay); only for Type = ‘detailed’
Optical.TextZ.FrontText.Detailed
parameter(recommended) value rangedescription
SurfaceMorphology’Rantex’, ‘Rantex-default’, ‘planar’morphology of surface for RT-TMM detailed optical modeling; Rantex-default assumes 54.74 degrees pyramids (see Baker-Finch PiP 2011)
TextureAngle0..90 degcharacteristic angle of texture for detailed optical modeling; only for SurfaceMorphology = ‘Rantex’
Optical.TextZ.FrontText.Layer
parameter(recommended) value rangedescription
Material
Thickness0..3e+3 nmthickness of this optical layer
EtaColl0..0*..1 fraccollection efficiency (=ratio of electrically collected and absorbed photons)
Cell’MainCell’*, ‘SubCell’only applicable to tandem simulations: defines whether this layer’s collected current is contributing to the main cell (bottom cell) or the subcell (top cell) current

Optical.TextZ.RearText

parameter(recommended) value rangedescription
Type’Text’*, ‘SQ subcell limit’, ‘Beer-Lambert subcell limit’, ‘from Rtot’, ‘detailed’, ‘local''Text’: directly set Text (and Aext and Agen); ‘SQ subcell limit’: (for tandem only) assume 100% generation / zero transmission above, and 100% transmission below the subcell material’s band-gap; ‘Beer-Lambert subcell limit’: (for tandem only) assume zero reflection and parasitic absorption and determine Agen from material’s absorption coefficient and subcell layer thickness using Beer-Lambert law; ‘from Rtot’: let Quokka3 determine Text from the total reflection Rtot (and Aext); ‘detailed’: detailed modeling of external optics (simplified raytracing + TMM); ‘local’: define Text for each skin individually
Texttabular data first column: 200..1.8e+3 nm; second column: 0..1external transmission including Aext (and Agen, if a subcell is present on this side); only for Type = ‘Text’
Aexttabular data first column: 200..2.5e+3 nm; second column: 0..0*..1absorption in illuminated side films during first light pass (usually non-zero only for short-wavelength region); if Text is determined from Rtot, Aext must still be defined here, as Aext can not (yet) automatically be determined from the total reflection; not for Type = ‘local’
Agentabular data first column: 200..2.5e+3 nm; second column: 0..0*..1active absorption in illuminated side subcell as contained in Text, applied only if the skin contains a subcell within a tandem simulation; not for Type = ‘local’
FacetAngle0..90 degcharacteristic facet angle of surface morphology for modeling light-trapping via Basore model; 0 for planar, ~54 deg for textured; this value must always be given when defined for an individual skin, but will only have an effect if light-trapping is modelled via the Basore model; only for Optical.TextZ.FrontZ.Type = ‘from RearRtot’, ‘from FrontRtot and RearRtot’ or Optical.TextZ.RearZ.Type = ‘from RearRtot’, ‘from FrontRtot and RearRtot’ or Optical.TextZ.RearZ.Type = ‘local’, ‘Basore’ or Type = ‘Text’, ‘detailed’, ‘from Rtot’
IncludeShading1 / 0*whether to lump the metal shading fraction determined by the metal correction of Rtot effectively into Text; this should be enabled e.g. for a 1D simulation with an Rtot measurement including metal reflection, to consider the influence of shading on absorption (=generation current) and transmission; only for Type = ‘from Rtot’
Detailed; only for Type = ‘detailed’
Layer(ilay); only for Type = ‘detailed’
Optical.TextZ.RearText.Detailed
parameter(recommended) value rangedescription
SurfaceMorphology’Rantex’, ‘Rantex-default’, ‘planar’morphology of surface for RT-TMM detailed optical modeling; Rantex-default assumes 54.74 degrees pyramids (see Baker-Finch PiP 2011)
TextureAngle0..90 degcharacteristic angle of texture for detailed optical modeling; only for SurfaceMorphology = ‘Rantex’
Optical.TextZ.RearText.Layer
parameter(recommended) value rangedescription
Material
Thickness0..3e+3 nmthickness of this optical layer
EtaColl0..0*..1 fraccollection efficiency (=ratio of electrically collected and absorbed photons)
Cell’MainCell’*, ‘SubCell’only applicable to tandem simulations: defines whether this layer’s collected current is contributing to the main cell (bottom cell) or the subcell (top cell) current

Optical.SunSolve

parameter(recommended) value rangedescription
File.sun file exported from SunSolve
InputType’auto’*, ‘Text-Z’, ‘generation-profile’whether to use the generation profile or the Text-Z properties from the SunSolve file; if set to ‘auto’, Quokka3 chooses the best option (prioritizing Text-Z) depending on availbility of the data in the SunSolve file
CollectingLayer(icl)list of layers which where used in the SunSunSolve simulation and should contribute to current in the Quokka3 simulation

Optical.SunSolve.CollectingLayer

parameter(recommended) value rangedescription
IDType’interface’, ‘film’, ‘slab’wether this layer uses the absorption data of an ‘interface’, ‘film’ or ‘slab’ of the SunSolve simulation
IDthe name of the ID, as it appears in SunSolve (e.g. ‘2a.1’)
EtaColl0..1the collection efficiency of this layer; this fraction of the non-FCA absorption simulated in SunSunsolve contributes to current in Quokka3
Cell’MainCell’*, ‘SubCell’only applicable to tandem simulations: defines whether this layer’s collected current is contributing to the main cell (bottom cell) or the subcell (top cell) current

SkinFeature

parameter(recommended) value rangedescription
Namename of feauture, used in geometry plots and loss analysis
Geometry; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’
OpticalModelType’lumped’*, ‘external-detailed internal-lumped’how to model optics of this skin; internal optics can only be modelled lumped; external optics can be modelled lumpded (by defining spectral external transmission and absorption), or detailed (uses TMM and simple ray-tracing based on optical layer properties and surface morphology); only for Optical.GenerationModelType = ‘Text-Z’ or Optical.Luminescence.ReabsorptionModelType = ‘Text-Z’
ElectricalModelType’lumped’*, ‘detailed’whether to model the skin by lumped inputs or detailed inputs, the latter using the multiscale approach for a semiconductor device; ‘detailed’ is only supported for front and rear side skins; only for Solver.Electrical.Enable = 1
Lumped
Layer(ilay)
Detailed; only for ..ElectricalModelType = ‘detailed’ or ..OpticalModelType = ‘external-detailed internal-lumped’

SkinFeature(iskin).Geometry

parameter(recommended) value rangedescription
Shape’full’, ‘rectangle’, ‘circle’; not for Domain.Dimensions = ‘1’
Plane’front’, ‘rear’, ‘east’, ‘west’, ‘north’, ‘south’
PositionX-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PositionY-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PositionZ-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
SizeX1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
SizeY1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
SizeZ1..1e+4 um; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Diameter1..1e+6 um; only for Shape = ‘circle’
RepetitionsX1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
RepetitionsY1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
RepetitionsZ1..1*..300; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
PitchX1..1e+6 um; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PitchY1..1e+6 um; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PitchZ1..1e+4 um; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Inverse1 / 0*
DepthType’user’, ‘auto’*how to determine the skin depth, i.e. the depth of the near-surface layer of the skin; for a lumped skin, ‘auto’ results in zero depth; for a details skin this overrides the thickness of the near-surface layer
DepthUser0..10 umuser-defined skin depth; only for DepthType = ‘user’

SkinFeature(iskin).Lumped

parameter(recommended) value rangedescription
Electrical; only for Solver.Electrical.Enable = 1
Optical; only for …OpticalModelType = ‘lumped’, ‘external-detailed internal-lumped’

SkinFeature(iskin).Lumped.Electrical

parameter(recommended) value rangedescription
RsheetEnable1 / 0*enable / disable lateral conductance; only for …ElectricalModelType = ‘lumped’
RsheetType’total’, ‘near-surface’*whether the lumped sheet resistance represents the total Rsheet of the skin, or only of the near-surface region; if set to ‘near-surface’, the Rsheet of an optional ‘transport’ layer will be considered in parallel to the lumped Rsheet; exception: if solely a lumped Rsheet is given for a skin containing a subcell, this defines the effective outer Rsheet, not the (intermediate) Rsheet of the bulk subcell near-surface; only for RsheetEnable = 1
Rsheet1e-3..1e+5 Ohmsheet resistance; only for RsheetEnable = 1
ConductionType’n-type’, ‘p-type’which type of carriers are transported within the skin; only for RsheetEnable = 1 or Domain.DeviceType = ‘semiconductor device’
ContactedRecombinationrecombination properties; only for Domain.DeviceType = ‘semiconductor device’, ‘semiconductor skin’ or …ElectricalModelType = ‘lumped’
NonContactedRecombinationrecombination properties; only for Domain.DeviceType = ‘semiconductor device’, ‘semiconductor skin’ or …ElectricalModelType = ‘lumped’
EtaCollcollection efficiency; has effect only when set in combination with a user-defined skin depth; only for …ElectricalModelType = ‘lumped’
WestEdgeJ020..0*..5e-8 Acm-1J02edge value, applied where this skin corners the west solution domain edge
EastEdgeJ020..0*..5e-8 Acm-1J02edge value, applied where this skin corners the east solution domain edge
NorthEdgeJ020..0*..5e-8 Acm-1J02edge value, applied where this skin corners the north solution domain edge
SouthEdgeJ020..0*..5e-8 Acm-1J02edge value, applied where this skin corners the south solution domain edge
SamePolarityConnection’ideal’*, ‘isolated’if this skin neighbors a skin with the same conduction type, current can either freely flow between the skins (‘ideal’), or no current can flow between the skins (if one of the neighboring skins is set to ‘isolated’); the latter is useful e.g. to represent localized passivating contacts on top of a full-area diffused surface
OppositePolarityConnection’isolated’*, ‘shunt’if neighboring skins are of opposite polarity and have both this set to ‘shunt’, a shunt current can flow between these skins; via on ohmic shunt defined by the sum of the shunt resistivities, and in parallel via a diode characteristics with an ideality of 2 defined by the sum of the J02 values; only for Domain.DeviceType = ‘semiconductor device’
ShuntResistivity0..1.000e+10 Ohmcmline-specific shunt resistiviy (in Ohm times cm) for neighboring skins of opposite polarity; the sum of these values of the two neighboring skins is the effective shunt resistivity; only for OppositePolarityConnection = ‘shunt’
ShuntJ020..1e-7 A/cmline-specific J02 for neighboring skins of opposite polarity; the sum of these values of the two neighboring skins is the effective J02; only for OppositePolarityConnection = ‘shunt’
VerticalResistivityEnable1 / 0*whether to define a resistivity between the bulk and the skin layer
VerticalResistivity; only for VerticalResistivityEnable = 1
SkinFeature(iskin).Lumped.Electrical.ContactedRecombination
parameter(recommended) value rangedescription
ModelType’J0’, ‘Seff’, ‘J0(V)’, ‘Seff(deltan)’, ‘off’*how to model recombination; ‘J0’ sets diode-like recombination with the inputs J01 and optionanly J02; ‘Seff’ sets an effective surface recombination velocity; ‘J0(V)’ enables to define an injection-dependent J01 as a function of voltage (=Fermi level split); Seff(deltan) enables to define Seff as a function of surface excess carriers
J00..1e-11 Acm-2J0 value; only for ModelType = ‘J0’
J020..0*..1e-7 Acm-2J02 value; only for ModelType = ‘J0’
Seff0..1e+6 cms-1effective surface recombination velocity; 1e7 might sometimes lead to convergence issues, use <=1e6 which is usually well high enough; only for ModelType = ‘Seff’
J0(V)tabular data first column: 0..1 V; second column: 0..1e-11 Acm-2defines J0 as a function of the bulk-side quasi-Fermi level split (which is approx. but not stricitly the device voltage); only for ModelType = ‘J0(V)‘
Seff(deltan)tabular data first column: 0..1e+18 cm-3; second column: 0..1e+6 cms-1defines Seff as a function of bulk-side excess carrier density; only for ModelType = ‘Seff(deltan)‘
SkinFeature(iskin).Lumped.Electrical.NonContactedRecombination
parameter(recommended) value rangedescription
ModelType’J0’, ‘Seff’, ‘J0(V)’, ‘Seff(deltan)’, ‘off’*how to model recombination; ‘J0’ sets diode-like recombination with the inputs J01 and optionanly J02; ‘Seff’ sets an effective surface recombination velocity; ‘J0(V)’ enables to define an injection-dependent J01 as a function of voltage (=Fermi level split); Seff(deltan) enables to define Seff as a function of surface excess carriers
J00..1e-11 Acm-2J0 value; only for ModelType = ‘J0’
J020..0*..1e-7 Acm-2J02 value; only for ModelType = ‘J0’
Seff0..1e+6 cms-1effective surface recombination velocity; 1e7 might sometimes lead to convergence issues, use <=1e6 which is usually well high enough; only for ModelType = ‘Seff’
J0(V)tabular data first column: 0..1 V; second column: 0..1e-11 Acm-2defines J0 as a function of the bulk-side quasi-Fermi level split (which is approx. but not stricitly the device voltage); only for ModelType = ‘J0(V)‘
Seff(deltan)tabular data first column: 0..1e+18 cm-3; second column: 0..1e+6 cms-1defines Seff as a function of bulk-side excess carrier density; only for ModelType = ‘Seff(deltan)‘
SkinFeature(iskin).Lumped.Electrical.VerticalResistivity
parameter(recommended) value rangedescription
CurrentTransportModel’ohmic’*, ‘MIS’how to model current transport, see description below; not for Solver.Electrical.BulkModelType = ‘full’ or Domain.DeviceType = ‘resistive device’
OhmicResistivity1e-6..1 Ohmcm2contact resistivity; this value is applied in parallel to this contact’s MIS transport, e.g. representing pinholes; for a skin domain or 1D detailed cell simulation this value is disregarded (for 1D cell simulation one cane define a contact resistivity as an external series resistance instead); only for ..CurrentTransportModel = ‘MIS’, ‘ohmic’
MISInputType’J0’, ‘MIS properties’*whether to define the non-ohmic resistance by a J0 value, or from the MIS barrier and tunnel properties; only for ..CurrentTransportModel = ‘MIS’
J00..1e-6 A/cm2; only for ..MISInputType = ‘J0’
SchottkyBarrier-0.5..1 eVSchottky barrier height; only for ..MISInputType = ‘MIS properties’
TunnelBarrier0..5 eVbarrier height of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’
TunnelThickness0..10 nmthickness of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’
EffectiveMass0.01..1*..2effective tunneling mass, fraction of electron rest mass; defaults to 1; only for ..MISInputType = ‘MIS properties’

SkinFeature(iskin).Lumped.Optical

parameter(recommended) value rangedescription
Externalonly if this skin’s side Text Type in the Optical.TextZ group is set to ‘local’
Internal; only for Optical.TextZ.FrontZ.Type = ‘local’ *or Optical.TextZ.RearZ.Type = ‘local’*only if this skin is placed at the front or rear side
SkinFeature(iskin).Lumped.Optical.External
parameter(recommended) value rangedescription
Type’Text’*, ‘SQ subcell limit’, ‘Beer-Lambert subcell limit''Text’: directly set Text (and Aext and Agen); ‘SQ subcell limit’: (for tandem only) assume 100% generation / zero transmission above, and 100% transmission below the subcell material’s band-gap; ‘Beer-Lambert subcell limit’: (for tandem only) assume zero reflection and parasitic absorption and determine Agen from material’s absorption coefficient and subcell layer thickness using Beer-Lambert law;; not for …OpticalModelType = ‘external-detailed internal-lumped’
Texttabular data first column: 200..1.8e+3 nm; second column: 0..1external transmission including Aext (and Agen, if a subcell is present on this side); only for Type = ‘Text’ or …OpticalModelType = ‘external-detailed internal-lumped’
Aexttabular data first column: 200..2.5e+3 nm; second column: 0..0*..1parasitic absorption in illuminated side films during first light pass (usually non-zero only for short-wavelength region); not for …OpticalModelType = ‘external-detailed internal-lumped’
Agentabular data first column: 200..2.5e+3 nm; second column: 0..0*..1active absorption in illuminated side subcell as contained in Text, applied only if the skin contains a subcell within a tandem simulation; not for …OpticalModelType = ‘external-detailed internal-lumped’
FacetAngle0..90 degcharacteristic facet angle of surface morphology for modeling light-trapping via Basore model; 0 for planar, ~54 deg for textured; this value must always be given when defined for an individual skin, but will only have an effect if light-trapping is modelled via the Basore model
SkinFeature(iskin).Lumped.Optical.Internal
parameter(recommended) value rangedescription
RintIdeal1 / 0*when enabled, the internal reflection will is set the the ideal Lambertian limit: Rint = 1-1/n^2
Rint0..1internal reflection; nth pass only if RintFirstEnable is enabled; on the illuminated side, Rint will internally be limited to the Lambertian limit of 1-n^2 to ensure physical consistency; not for RintIdeal = 1
RintFirstEnable1 / 0*enable setting the first-pass internal reflection different to subsequent passes; not for RintIdeal = 1
RintFirst0..1; only for RintFirstEnable = 1
Diffuse1 / 0whether internal reflection is diffuse (fully scattered)
Scatter1 / 0*whether incident light is fully scattered during the first external pass
ApppType’user’*, ‘from layers’how to model the skin’s internal parasitic absorption; either user-defined fraction per perpendicular pass, or derived from layer properties
Appp0..0*..1parasitic absorption fraction per perpendicular pass through this skin; only for ApppType = ‘user’
ApppInFirstPass1* / 0whether parasitic absorption via Appp in the layers of this skin should be accounted for during the first pass of light; this overlaps with external optics, meaning you must set this parameter to zero if the parasitic absorption of the layers defined in this skin is already considered in the external optics (i.e. if contained in ‘Text’ / ‘Aext’); for detailed external optical model type, external parastic absorption of all layers is already considered, and this setting is ignored; for a user-defined Appp value, Appp is strictly applied to light-trapping only, i.e. excluded during the first pass; not for …OpticalModelType = ‘external-detailed internal-lumped’ *or ApppType = ‘from layers’*only if this skin’s side is illuminated

SkinFeature(iskin).Layer

parameter(recommended) value rangedescription
NameName of this layer
Type’near-surface’, ‘transport’, ‘lumped-subcell’, ‘optical’type of the layer; ‘near-surface’ defines the near-surface part of the bulk like a diffusion profile; ‘transport’ is a different-material layer on top which is analytically modeled and acts mainly as a lateral transport layer, like e.g. a poly-Si or TCO layer; ‘lumped-subcell’ adds a subcell enabling a tandem simulation, which is defined via it’s JV-curve or it’s two-diode parameterization, and represents the main absorber layer for a detailed optical model; ‘optical’ defines a thin film layer which is only considered optically by the transfer-matrix-method (TMM) in a detailed optical modeling of this skin
SurfaceRecombination; only for …ElectricalModelType = ‘detailed’ or Type = ‘near-surface’
Materialthe material this layer is made from; set to ‘Si’ or to a user-defined material name with properties defined in the Material.User(imat). settings group; will be ignored for a lumped-subcell layer without detailed modeling of this skin; only for Type = ‘transport’, ‘optical’, ‘lumped-subcell’
ConductionType’n-type’, ‘p-type’whether this an electron or hole transport layer; only for Type = ‘transport’
TLModelType’metal-like’*, ‘analytic band-bending’whether to assume a constant Fermi-Level in this transport layer (‘metal like’), or whether to analytically account for band-bending when placed next to the near-surface layer; only for Type = ‘transport’ or Solver.Electrical.Enable = 1
RsheetType’user’, ‘model’, ‘disabled’*how to determine sheet resistance of this transport layer; only for Type = ‘transport’
Rsheet0..1e+4 Ohm; only for RsheetType = ‘user’
ApppType’off’, ‘model’, ‘user’whether to determine internal parasitic absorption of this layer calculated by the material’s optical properties; only for Type = ‘transport’, ‘near-surface’, ‘optical’ or ..Lumped.Optical.Internal.ApppType = ‘from layers’
Appp0..1user-defined value for Appp; only for ApppType = ‘user’
DopingDensityType’from DOS and Eact’, ‘user’, ‘profile’how to define doping density of this transport layer; ‘user’ defines a fixed value; ‘from DOS and Eact’ calcualtes it from the activation energy and density of states; ‘profile’ uses the ActiveProfile settingsgroup (only possible for metal-like transport layer); only for RsheetType = ‘model’ or TLModelType = ‘analytic band-bending’ or ApppType = ‘model’ or Type = ‘near-surface’, ‘optical’
DopingDensity0..1e+22 cm-3; only for DopingDensityType = ‘user’
EactType’from DOS and doping’, ‘user’; only for DopingDensityType = ‘from DOS and Eact’ or TLModelType = ‘analytic band-bending’
Eact0..1 eV; only for EactType = ‘user’
Thickness0..3e+3 nmthickness of this layeronly if if this layer is not a near-surface layer, and not a lumped-subcell layer without detailed optical modeling of this skin
DopingProfiletabular data first column: 0..3 um; second column: 0..1e+21 cm-3the total doping profile in this layer (e.g. measured by SIMS); if no active profile is defined additionally, ionization models are applied depending on the incomplete ionization material model settings to calculate the active profile; only for Type = ‘near-surface’
ActiveProfiletabular data first column: 0..3 um; second column: 0..1e+21 cm-3the active doping profile in this layer (e.g. measured by ECV); if both active and total profiles are defined, the difference is inactive doping which can represent SRH defects; can also be defined for a metal-like transport layer, which can then be used to calculate Rsheet and Appp per this profile; only for Type = ‘near-surface’ or DopingDensityType = ‘profile’
Interfacefor a detailed skin, these settings define the interface properties to the near-surface layer; *only for …ElectricalModelType = ‘detailed’*only if the neighboring layer towards the bulk is a ‘near-surface’ layer
WorkFunction0..10 eV; only for Interface.BarrierHeightType = ‘from workfunction’
JunctionResistivitydefines current transport between an n-type and p-type transport layer connecting two subcells; represents effective contact resistivity of the recombination or tunnel junction; *only for Type = ‘transport’*only if this transport layer is neighboring an opposite-polarity transport layer within a multijunction cell
Subcelldefines the JV-characteristics of a subscell within that skin for a tandem simulation; only for Type = ‘lumped-subcell’
EtaColl0..0*..1 fraccollection efficiency (=ratio of electrically collected and absorbed photons); defaults to zero for transport and optical layers, defaults to 100% for a lumped subcell layer; is not applicable to a near-surface layers, which optically belongs to the main absorber; only for …OpticalModelType = ‘external-detailed internal-lumped’

SkinFeature(iskin).Layer(ilay).SurfaceRecombination

parameter(recommended) value rangedescription
Type’off’*, ‘S’, ‘Dit-sigma’, ‘Si-SiO2-Altermatt2002’, ‘Si-SiNx-Min2014’, ‘Si-Kimmerle2016’, ‘Si-Wolf2021’how surface recombination is modeled; either using fundamental electron and hole surface recombination velocity inputs for surface SRH (‘S’), Dit and capture cross sections, or by using a published empirical parameterization for Sn and Sp; ‘Sn’ and ‘Sp’ set recombination of electrons or holes only, respectively, assuming recombination with an unlimited supply of the other carrier type from the neigboring material
Kimmerle2016; only for ..Type = ‘Si-Kimmerle2016’
Sn0..1e+8 cm/sfundamental electron surface recombination velocity; only for ..Type = ‘S’, ‘Sn’
Sp0..1e+8 cm/sfundamental hole surface recombination velocity; only for ..Type = ‘S’, ‘Sp’
Et_Ei-1..0*..1 eVdefect energy relative to intrinsic energy; only for ..Type = ‘S’, ‘Dit-sigma’
sigman1.000e-20..1.000e-10 cm2electron capture cross section; only for ..Type = ‘Dit-sigma’
sigmap1.000e-20..1.000e-10 cm2hole capture cross section; only for ..Type = ‘Dit-sigma’
Dit0..1.000e+20 cm-2surface defect density; only for ..Type = ‘Dit-sigma’
vth1e+5..2e+7*..1e+9 cms-1thermal velocity; only for ..Type = ‘Dit-sigma’
vthTdep1 / 0*whether to model temperature dependence of the thermal velocity via scaling vth by sqrt(T/300K); if disabled, vth is constant; only for ..Type = ‘Dit-sigma’
FixedCharge-1e+13..0*..1e+13 cm-2
SkinFeature(iskin).Layer(ilay).SurfaceRecombination.Kimmerle2016
parameter(recommended) value rangedescription
Charge1 / 0*1: explicitly accounting for charge; 0: Sp and Sn include the effect of charge
Texture1 / 0whether to assume textured (1) or planar (0) surface
Stack’SiOxNy-SiNx’, ‘SiO2-SiNx’which dielectric stack to assume

SkinFeature(iskin).Layer(ilay).Interface

parameter(recommended) value rangedescription
MinorityThermionicEmission1 / 0*allow thermionic emission of minority carriers; disabling provides a more effective description of e.g. passivating contacts; needs to be enabled to account for selectivity losses caused by not very asymmetric barrier heights for electrons and holes
Insulatorinsulator properties can be defined between a metal-like transport layer and the near-surface layer; triggers the use of the detailed MIS model; only for …TLModelType = ‘metal-like’
BarrierHeightType’from workfunction’, ‘user’, ‘flat-bands’whether the majority carrier barrier height is determined from this transport layer’s workfunction using the Schottky-Mott rule, or set by the user, or whether band-bending is disabled; only for …TLModelType = ‘metal-like’
BarrierHeight-1..1 eV; only for BarrierHeightType = ‘user’
OhmicResistivity1e-6..1.000e+10 Ohmcm2ohmic resistivity of majority carriers parallel to MS / MIS transport; not for BarrierHeightType = ‘flat-bands’ or …TLModelType = ‘analytic band-bending’
ContactPolarity’same as conduction type’*, ‘n-type’, ‘p-type’by default the layer’s conduction type defines the contact polarity, i.e. whether electrons (n-type) or holes (p-type) are the majority carriers being transported over the interface; setting this contact polarity different to the conduction type is useful if e.g. an electron conducting material is used as the hole contact to the absorber; only for …Type = ‘transport’
SkinFeature(iskin).Layer(ilay).Interface.Insulator
parameter(recommended) value rangedescription
Enable1 / 0*enable an insulator, triggers the use of the detailed MIS model, currently only works for a metal-like transport layer
Thickness0..5 nm; only for Enable = 1
RelativePermittivity1..100; only for Enable = 1
ElectronBarrier0..0*..5 eV; only for Enable = 1
HoleBarrier0..0*..5 eV; only for Enable = 1
ElectronEffectiveMass0.1..1*..2; only for Enable = 1
HoleEffectiveMass0.1..1*..2; only for Enable = 1

SkinFeature(iskin).Layer(ilay).JunctionResistivity

parameter(recommended) value rangedescription
CurrentTransportModel’ohmic’*, ‘MIS’how to model current transport, see description below; not for Solver.Electrical.BulkModelType = ‘full’ or Domain.DeviceType = ‘resistive device’
OhmicResistivity1e-6..1 Ohmcm2contact resistivity; this value is applied in parallel to this contact’s MIS transport, e.g. representing pinholes; for a skin domain or 1D detailed cell simulation this value is disregarded (for 1D cell simulation one cane define a contact resistivity as an external series resistance instead); only for ..CurrentTransportModel = ‘MIS’, ‘ohmic’
MISInputType’J0’, ‘MIS properties’*whether to define the non-ohmic resistance by a J0 value, or from the MIS barrier and tunnel properties; only for ..CurrentTransportModel = ‘MIS’
J00..1e-6 A/cm2; only for ..MISInputType = ‘J0’
SchottkyBarrier-0.5..1 eVSchottky barrier height; only for ..MISInputType = ‘MIS properties’
TunnelBarrier0..5 eVbarrier height of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’
TunnelThickness0..10 nmthickness of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’
EffectiveMass0.01..1*..2effective tunneling mass, fraction of electron rest mass; defaults to 1; only for ..MISInputType = ‘MIS properties’

SkinFeature(iskin).Layer(ilay).Subcell

parameter(recommended) value rangedescription
JVType’user’, ‘two-diode’whether the JV-characteristics is defined via user JV-curve, or a via a two-diode model parameterization
JVUsertabular data first column: -1..2 V; second column: -100..500 mA/cm2JV-curve of this subcell; if the GenerationModelType is NOT set to ‘defined-generation’, this curve will be automatically shifted so that Jsc (divided by collection efficiency) equals the generation predicted by the otpical modeling; only for JVType = ‘user’
J01Model’user’*, ‘SQ-ERE''user’: user-defined value for J01; ‘SQ-ERE’ calculate Shockley-Queisser limit J01_SQ from the material’s band-gap, increased by a non-unity external radiation efficiency (J01 = J01_SQ / ERE); only for JVType = ‘two-diode’
J010..1e+4 A/cm2J01 of subcell JV-characteristics; only for J01Model = ‘user’
ERE0..1*..1external radiation efficiency of the subcell; value only valid for the monofacial case, which equals the fraction of front-side radiative emission over sum of nonradiative recombination and front-side radiative emission; this way, changing rear-side emission (i.e. luminescent coupling efficiency) results in the same nonradiative recombination J01,nr for same ERE value; only for J01Model = ‘SQ-ERE’
EtaLumiCoupling0..0.5*..1fraction of radiative recombination in this subcell providing generation to the main cell; 50% default value is valid for a SQ-limit topcell, while for realistic optical properties this value is typically much higher; if used together with J01type=‘SQ-ERE’ the J01 will be scaled by 1/(1-EtaLumiCoupling) to account for the changes in total radiative emission (50% then corresponds to the typical bifacial SQ assumption, 0% corresponds to the monofacial SQ assumption); only for Solver.LuminescentCoupling.Enable = 1 or J01Model = ‘SQ-ERE’
J020..1e+4 A/cm2J02 of subcell JV-characteristics; only for JVType = ‘two-diode’
n20.66..2*..10ideality factor of second diode; only for JVType = ‘two-diode’
Rseries0..10 Ohmcm2series resistance of subcell JV-characteristics; only for JVType = ‘two-diode’
Rshunt100..1e+11 Ohmcm2shunt resistance of subcell JV-characteristics; only for JVType = ‘two-diode’
Jsc0..0*..100 mA/cm2Jsc of subcell JV-characteristics; will be ignored if generation is determined by optical modeling instead; only for JVType = ‘two-diode’
Reverse1 / 0*enable: subcell forward current direction is opposite to main cell forward direction (only possible in 3T configuration); only for Solver.Electrical.3T.Enable = 1

SkinFeature(iskin).Detailed

parameter(recommended) value rangedescription
SurfaceMorphology’Rantex’, ‘Rantex-default’, ‘planar’morphology of surface for RT-TMM detailed optical modeling; Rantex-default assumes 54.74 degrees pyramids (see Baker-Finch PiP 2011); *only for …OpticalModelType = ‘external-detailed internal-lumped’*only if this skin’s side Text Type in the Optcial.TextZ group is set to ‘local’
TextureAngle0..90 degcharacteristic angle of texture for detailed optical modeling; only for SurfaceMorphology = ‘Rantex’
Mesh
Multiscale; only for …ElectricalModelType = ‘detailed’ or Domain.DeviceType = ‘semiconductor device’ or Solver.Electrical.BulkModelType = ‘full’

SkinFeature(iskin).Detailed.Mesh

parameter(recommended) value rangedescription
Quality’coarse’*, ‘standard’, ‘fine’, ‘very-fine’, ‘user’how fine to discretize; note that the automatic meshing is scoped in such way that a ‘coarse’ mesh will result in sufficient numerical accuracy in most cases, and is thus the default
dzmin1e-4..10 umminimum vertical element size; z - direction; only for Quality = ‘user’
dzmax1..1e+4 ummaximum vertical element size; z - direction; only for Quality = ‘user’
dzProfiletabular data first column: 0..1e+6 um; second column: 1e-4..1e+18*..10 umupper limit of vertical element size as a function of depth from the surface (front surface for bulk mesh, outer surface for skin mesh); defaults to a very high value which has no effect
inflation1..4maximum allowed ratio in size of neighboring elements; only for Quality = ‘user’
resolution3..30minimum amount of elements between any feature edges; only for Quality = ‘user’

SkinFeature(iskin).Detailed.Multiscale

parameter(recommended) value rangedescription
ModelType’single point’, ‘injection dependent recombination’, ‘full’how to couple the skin-solver with the qn-bulk solver: ‘single point’ (fastest) sufficient for typical diffusions where J0 and contact resistivity are well constant; ‘injection dependent recombination’ can account for the injection-dependence of the J0; ‘full coupling’ is the complete coupling required for non-ohmic interface effects, i.e. for the MIS model
TextureMultiplier1..1*..1.7scales effective bulk-side recombination within multiscale modeling to account for higher recombination of a textured surface relative to the planar simulation; equals J0,tex / J0,plan

ContactFeature

parameter(recommended) value rangedescription
Namename of feauture, used in geometry plots and loss analysis
Geometry; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’
CurrentTransportModel’ohmic’*, ‘MIS’how to model current transport, see description below; not for Solver.Electrical.BulkModelType = ‘full’ or Domain.DeviceType = ‘resistive device’
OhmicResistivity1e-6..1 Ohmcm2contact resistivity; this value is applied in parallel to this contact’s MIS transport, e.g. representing pinholes; for a skin domain or 1D detailed cell simulation this value is disregarded (for 1D cell simulation one cane define a contact resistivity as an external series resistance instead); only for ..CurrentTransportModel = ‘MIS’, ‘ohmic’
MISInputType’J0’, ‘MIS properties’*whether to define the non-ohmic resistance by a J0 value, or from the MIS barrier and tunnel properties; only for ..CurrentTransportModel = ‘MIS’
J00..1e-6 A/cm2; only for ..MISInputType = ‘J0’
SchottkyBarrier-0.5..1 eVSchottky barrier height; only for ..MISInputType = ‘MIS properties’
TunnelBarrier0..5 eVbarrier height of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’
TunnelThickness0..10 nmthickness of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’
EffectiveMass0.01..1*..2effective tunneling mass, fraction of electron rest mass; defaults to 1; only for ..MISInputType = ‘MIS properties’

ContactFeature(icont).Geometry

parameter(recommended) value rangedescription
Shape’full’, ‘rectangle’, ‘circle’; not for Domain.Dimensions = ‘1’
Plane’front’, ‘rear’, ‘east’, ‘west’, ‘north’, ‘south’
PositionX-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PositionY-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PositionZ-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
SizeX1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
SizeY1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
SizeZ1..1e+4 um; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Diameter1..1e+6 um; only for Shape = ‘circle’
RepetitionsX1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
RepetitionsY1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
RepetitionsZ1..1*..300; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
PitchX1..1e+6 um; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PitchY1..1e+6 um; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PitchZ1..1e+4 um; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Inverse1 / 0*

MetalFeature

parameter(recommended) value rangedescription
Namename of feauture, used in geometry plots and loss analysis
Geometry; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’
Electrical; only for Solver.Electrical.Enable = 1
Optical

MetalFeature(imet).Geometry

parameter(recommended) value rangedescription
Shape’full’, ‘rectangle’, ‘circle’; not for Domain.Dimensions = ‘1’
Plane’front’, ‘rear’, ‘east’, ‘west’, ‘north’, ‘south’
PositionX-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PositionY-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PositionZ-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
SizeX1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
SizeY1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
SizeZ1..1e+4 um; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Diameter1..1e+6 um; only for Shape = ‘circle’
RepetitionsX1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
RepetitionsY1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
RepetitionsZ1..1*..300; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
PitchX1..1e+6 um; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PitchY1..1e+6 um; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PitchZ1..1e+4 um; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Inverse1 / 0*

MetalFeature(imet).Electrical

parameter(recommended) value rangedescription
Polarity’n-type’, ‘p-type’, ‘T’the (initial) polarity, i.e. whether the metal feature is connected to ground / 0 V (p-type) or the applied voltage (n-type); for a 3-terminal tandem device, ‘T’ defines the metal to be the outer terminal of the subcell (usually topcell), while ‘n-type’ and ‘p-type’ define the terminals of the maincell (usually Si bottom cell)only if not simulating a resistive device with ‘finite-differences’ metal model type
Rsheet1e-4..1 Ohmsheet resistance of the metal; for a finger, Rsheet can be calculated as line-specific resistance [Ohm/cm] times line width [cm], where the line width is the same value as assumed in the simulation geometry; only for Solver.Electrical.MetalModelType = ‘finite-differences’

MetalFeature(imet).Optical

parameter(recommended) value rangedescription
ShadingFraction0..1*..1shading fraction of the metal feature to account for reflected and scattered light still contributing to generation; only for Solver.Illumination.Enable = 1

PadFeature

parameter(recommended) value rangedescription
Namename of feauture, used in geometry plots and loss analysis
Geometry; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’
Electrical
Optical

PadFeature(imet).Geometry

parameter(recommended) value rangedescription
Shape’full’, ‘rectangle’, ‘circle’; not for Domain.Dimensions = ‘1’
Plane’front’, ‘rear’, ‘east’, ‘west’, ‘north’, ‘south’
PositionX-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PositionY-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PositionZ-1e+6..1e+6 um; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
SizeX1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
SizeY1..1e+6 um; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
SizeZ1..1e+4 um; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Diameter1..1e+6 um; only for Shape = ‘circle’
RepetitionsX1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
RepetitionsY1..1*..300; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
RepetitionsZ1..1*..300; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
PitchX1..1e+6 um; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’
PitchY1..1e+6 um; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’
PitchZ1..1e+4 um; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’
Inverse1 / 0*

PadFeature(imet).Electrical

parameter(recommended) value rangedescription
Polarity’n-type’, ‘p-type’, ‘T’the polarity of the potential, i.e. ground / 0 V (p-type) or the applied voltage (n-type); for a 3-terminal tandem device, ‘T’ defines the metal to be the outer terminal of the subcell (usually topcell), while ‘n-type’ and ‘p-type’ define the terminals of the maincell (usually Si bottom cell)
ContactResistivity1e-6..1 Ohmcm2contact resistivity between pad and metal

PadFeature(imet).Optical

parameter(recommended) value rangedescription
ShadingFraction0..1*..1shading fraction of the pad feature to account for reflected and scattered light still contributing to generation; only for Solver.Illumination.Enable = 1

Probe

parameter(recommended) value rangedescription
Namename of this probe
Plane’front’, ‘rear’on which side this probe is placed
PositionX-1e+6..0*..1e+6 um
PositionY-1e+6..0*..1e+6 um
Type’surface’*, ‘middle’what kind of voltage to probe: ‘surface’ means surface potential (representing an experimental measurement probe), ‘middle’ is applicable for tandem only, and means the potential between the main cell and the subcell (on the subcell side of the junction resistivity)

Material

parameter(recommended) value rangedescription
User(imat)user-defined materials
User-Si(imat)user-defined material with defaults to ‘Si’ properties; useful e.g. to define a poly-Si material with Si absorption (FCA) models, but different mobilities
Si

Material.User

parameter(recommended) value rangedescription
Name
ElectronAffinity0..10 eV
RelativePermittivity1..100
AugerModel’off’*, ‘Cn-Cp’
AugerCp0..1.000e+10 cm6s-1; only for AugerModel = ‘Cn-Cp’
AugerCn0..1.000e+10 cm6s-1; only for AugerModel = ‘Cn-Cp’
MobilityModel’user-const’*
HoleMobility1..1e+4 cm2V-1s-1; only for MobilityModel = ‘user-const’
ElectronMobility1..1e+4 cm2V-1s-1; only for MobilityModel = ‘user-const’
ni0Model’DOS-bandgap’*, ‘user-const’
ni01e+8..1e+13 cm-3; only for ni0Model = ‘user-const’
DOSModel’user-const’*
Nc1e+17..1e+21 cm2V-1s-1conduction band density of states; only for DOSModel = ‘user-const’
Nv1e+17..1e+21 cm2V-1s-1valence band density of states; only for DOSModel = ‘user-const’
BandGapModel’user-const’*
BandGap0.5..4 eV; only for BandGapModel = ‘user-const’
CradModel’user-const’*, ‘from nk’, ‘off’how to determine the radiative recombination coefficient Crad = Brad,low*ni^2
Crad0..1.000e+20 cm-3s-1radiative recombination coefficient Crad = Brad,low*ni^2 in units of cm-3s-1; only for CradModel = ‘user-const’
nkModel’Tauc-Lorentz’, ‘user’*how to set n&k values for this material; either from Tauc-Lorentz model, or by user-defined wavelength-dependent tabular data
Tauc-Lorentzparameters of the Tauc-Lorentz model; only for nkModel = ‘Tauc-Lorentz’
nk; only for nkModel = ‘user’, ‘database’
FCAModel’off’*, ‘user’; only for Solver.Illumination.Enable = 1
FCAtabular data first column: 200..1.5e+3 nm; second column: 0..1e+6 cm-1FCA absoprtion coefficient as a function of wavelength; only for FCAModel = ‘user’
IonsEnable1 / 0*whether this material has mobile ions
AnionMobility0..1e-7 cm2V-1s-1mobility of anions; set to 0 to define immobile anions; only for IonsEnable = 1
CationMobility0..1e-7 cm2V-1s-1mobility of cations; set to 0 to define immobile anions; only for IonsEnable = 1
N0an1e+12..1e+19 cm2V-1s-1average concentration of anions; only for IonsEnable = 1
N0cat1e+12..1e+19 cm2V-1s-1average concentration of cations; only for IonsEnable = 1

Material.User(imat).Tauc-Lorentz

parameter(recommended) value rangedescription
A0..500 eV
E00..200 eV
Eg0..10 eV
C0..200 eV
eps_inf0..1*..50

Material.User(imat).nk

parameter(recommended) value rangedescription
Database; only for nkModel = ‘database’
ntabular data first column: 200..1.5e+3 nm; second column: 1..10; only for …nkModel = ‘user’
ktabular data first column: 200..1.5e+3 nm; second column: 0..1e+5; only for …nkModel = ‘user’
Material.User(imat).nk.Database
parameter(recommended) value rangedescription
MaterialNamename of material as stored in the database
DatasetNamename of dataset for this material; ‘default’ uses the default dataset

Material.User-Si

parameter(recommended) value rangedescription
Name
ElectronAffinity0..4.05*..10 eV
RelativePermittivity1..11.68*..100
AugerModel’Si-Black2026’*, ‘Si-Niewelt2021’, ‘Si-Richter2012’, ‘Si-Sinton1987’, ‘Si-Altermatt2011’
AugerCp0..1.000e+10 cm6s-1; only for AugerModel = ‘Cn-Cp’
AugerCn0..1.000e+10 cm6s-1; only for AugerModel = ‘Cn-Cp’
MobilityModel’Si-Schindler2014’*, ‘Si-Klaassen1992’, ‘user-const’
HoleMobility1..1e+4 cm2V-1s-1; only for MobilityModel = ‘user-const’
ElectronMobility1..1e+4 cm2V-1s-1; only for MobilityModel = ‘user-const’
ni0Model’DOS-bandgap’*, ‘user-const’
ni01e+8..1e+13 cm-3; only for ni0Model = ‘user-const’
DOSModel’Si-Green1990’, ‘Si-Couderc2014’*, ‘user-const’
Nc1e+17..1e+21 cm2V-1s-1conduction band density of states; only for DOSModel = ‘user-const’
Nv1e+17..1e+21 cm2V-1s-1valence band density of states; only for DOSModel = ‘user-const’
BandGapModel’Paessler2002’*, ‘user-const’
BandGap0.5..4 eV; only for BandGapModel = ‘user-const’
CradModel’user-const’, ‘Si-Nguyen2014’*, ‘from nk’how to determine the radiative recombination coefficient Crad = Brad,low*ni^2
Crad0..1.000e+20 cm-3s-1radiative recombination coefficient Crad = Brad,low*ni^2 in units of cm-3s-1; only for CradModel = ‘user-const’
nkModel’user’, ‘Si-Green2021’*, ‘Si-Schinke2015_Green2008’, ‘database’how to set n&k values for this material; either from Tauc-Lorentz model, or by user-defined wavelength-dependent tabular data
Tauc-Lorentzparameters of the Tauc-Lorentz model; only for nkModel = ‘Tauc-Lorentz’
nk; only for nkModel = ‘user’, ‘database’
FCAModel’Si-BakerFinch2014’*, ‘off’, ‘user’; only for Solver.Illumination.Enable = 1
FCAtabular data first column: 200..1.5e+3 nm; second column: 0..1e+6 cm-1FCA absoprtion coefficient as a function of wavelength; only for FCAModel = ‘user’
BGNModel’Si-Schenk1998’*, ‘Si-Schenk1998_LI’, ‘Si-Yan-Cuevas2014’, ‘off’
BandGapMultiplier0.9..1*..1.1multiplier for the bandgap when calculating ni0 from DOS; can be used to match a known ni0 value; for Si, when using the Green1990 DOS model and the Paessler2002 bandgap model, this should be set to 1.00494 to match ni0(300K) = 9.65 cm-3; only for DOSModel = ‘DOS-bandgap’
IncompleteIonizationModel’off’*, ‘Si-Altermatt2006’

Material.User-Si(imat).Tauc-Lorentz

parameter(recommended) value rangedescription
A0..500 eV
E00..200 eV
Eg0..10 eV
C0..200 eV
eps_inf0..1*..50

Material.User-Si(imat).nk

parameter(recommended) value rangedescription
Database; only for nkModel = ‘database’
ntabular data first column: 200..1.5e+3 nm; second column: 1..10; only for …nkModel = ‘user’
ktabular data first column: 200..1.5e+3 nm; second column: 0..1e+5; only for …nkModel = ‘user’
Material.User-Si(imat).nk.Database
parameter(recommended) value rangedescription
MaterialNamename of material as stored in the database
DatasetNamename of dataset for this material; ‘default’ uses the default dataset

Material.Si

parameter(recommended) value rangedescription
ElectronAffinity0..4.05*..10 eV
RelativePermittivity1..11.68*..100
AugerModel’Si-Black2026’*, ‘Si-Niewelt2021’, ‘Si-Richter2012’, ‘Si-Sinton1987’, ‘Si-Altermatt2011’
AugerCp0..1.000e+10 cm6s-1; only for AugerModel = ‘Cn-Cp’
AugerCn0..1.000e+10 cm6s-1; only for AugerModel = ‘Cn-Cp’
MobilityModel’Si-Schindler2014’*, ‘Si-Klaassen1992’, ‘user-const’
HoleMobility1..1e+4 cm2V-1s-1; only for MobilityModel = ‘user-const’
ElectronMobility1..1e+4 cm2V-1s-1; only for MobilityModel = ‘user-const’
ni0Model’DOS-bandgap’*, ‘user-const’
ni01e+8..1e+13 cm-3; only for ni0Model = ‘user-const’
DOSModel’Si-Green1990’, ‘Si-Couderc2014’*, ‘user-const’
Nc1e+17..1e+21 cm2V-1s-1conduction band density of states; only for DOSModel = ‘user-const’
Nv1e+17..1e+21 cm2V-1s-1valence band density of states; only for DOSModel = ‘user-const’
BandGapModel’Paessler2002’*, ‘user-const’
BandGap0.5..4 eV; only for BandGapModel = ‘user-const’
CradModel’user-const’, ‘Si-Nguyen2014’*, ‘from nk’how to determine the radiative recombination coefficient Crad = Brad,low*ni^2
Crad0..1.000e+20 cm-3s-1radiative recombination coefficient Crad = Brad,low*ni^2 in units of cm-3s-1; only for CradModel = ‘user-const’
nkModel’user’, ‘Si-Green2021’*, ‘Si-Schinke2015_Green2008’, ‘database’how to set n&k values for this material; either from Tauc-Lorentz model, or by user-defined wavelength-dependent tabular data
Tauc-Lorentzparameters of the Tauc-Lorentz model; only for nkModel = ‘Tauc-Lorentz’
nk; only for nkModel = ‘user’, ‘database’
FCAModel’Si-BakerFinch2014’*, ‘off’, ‘user’; only for Solver.Illumination.Enable = 1
FCAtabular data first column: 200..1.5e+3 nm; second column: 0..1e+6 cm-1FCA absoprtion coefficient as a function of wavelength; only for FCAModel = ‘user’
BGNModel’Si-Schenk1998’*, ‘Si-Schenk1998_LI’, ‘Si-Yan-Cuevas2014’, ‘off’
BandGapMultiplier0.9..1*..1.1multiplier for the bandgap when calculating ni0 from DOS; can be used to match a known ni0 value; for Si, when using the Green1990 DOS model and the Paessler2002 bandgap model, this should be set to 1.00494 to match ni0(300K) = 9.65 cm-3; only for DOSModel = ‘DOS-bandgap’
IncompleteIonizationModel’off’*, ‘Si-Altermatt2006’

Material.Si.Tauc-Lorentz

parameter(recommended) value rangedescription
A0..500 eV
E00..200 eV
Eg0..10 eV
C0..200 eV
eps_inf0..1*..50

Material.Si.nk

parameter(recommended) value rangedescription
Database; only for nkModel = ‘database’
ntabular data first column: 200..1.5e+3 nm; second column: 1..10; only for …nkModel = ‘user’
ktabular data first column: 200..1.5e+3 nm; second column: 0..1e+5; only for …nkModel = ‘user’
Material.Si.nk.Database
parameter(recommended) value rangedescription
MaterialNamename of material as stored in the database
DatasetNamename of dataset for this material; ‘default’ uses the default dataset

’front and rear contact unit cell’ syntax

parameter(recommended) value rangedescription
Solver; same as ‘generic’ Solver settings
ExternalCircuit; only for Solver.Electrical.Enable = 1; same as ‘generic’ ExternalCircuit settings
Bulk; same as ‘generic’ Bulk settings
Optical; same as ‘generic’ Optical settings, except that illumination shape settings are not supported
Thermal; same as ‘generic’ Thermal settings
UnitCellType’standard’, ‘busbar-enhanced’which type of unit cell to simulate; ‘busbar-enhanced’ covers half of a busbar width and half of a finger length
BusbarPitch10..100 mmbusbar pitch; only for UnitCellType = ‘busbar-enhanced’
CellThickness0.1..500 umcell thickness excluding metallization
FrontContactShape’full’, ‘line’, ‘dot’, ‘dash’contact shape of front side; ‘dot’ is approximated by a square
FrontContactWidth1..200 umwidth of contacts; diameter for ‘dot’ shape; not for FrontContactShape = ‘full’
FrontContactPitch10..5e+3 ummain pitch of contacts / fingers; not for FrontContactShape = ‘full’
FrontContactSpacing10..5e+3 umspacing / secondary pitch of contacts; only for FrontContactShape = ‘dash’, ‘dot’
FrontContactLength10..1e+3 umlength of ‘dash’ contacts; only for FrontContactShape = ‘dash’
FrontContact; same as ‘generic’ ContactFeature settings
FrontMetalShape’full’, ‘H-pattern’shape of the metallization
FrontFingerWidth1..200 umwidth of metal fingers; not for FrontMetalShape = ‘full’
FrontFingerShadingFraction0..1shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for FrontMetalShape = ‘full’
FrontMetalRsheet1e-3..1 Ohmsheet resistance of the metal finger (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’
FrontMetalPolarity’n-type’, ‘p-type’polarity of the applied voltage and conduction type of the skins on this side; only for Solver.Electrical.Enable = 1
FrontBusbarWidth10..2e+3 umbusbar width; only for UnitCellType = ‘busbar-enhanced’
FrontBusbarContactEnable1 / 0whether to model contacted or non-contacted busbars; only for UnitCellType = ‘busbar-enhanced’
FrontBusbarShadingFraction0..1*..1shading fraction of the front busbars to account for reflected and scattered light still contributing to generation; only for UnitCellType = ‘busbar-enhanced’
FrontBusbarContact; only for FrontBusbarContactEnable = 1; same as ‘generic’ ContactFeature settings
FullFrontSkin; same as ‘generic’ SkinFeature settings
LocalFrontSkinadditional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings
LocalFrontContactSkinadditional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings
LocalFrontBusbarSkin; same as ‘generic’ SkinFeature settings
RearContactShape’full’, ‘line’, ‘dot’, ‘dash’contact shape of front side; ‘dot’ is approximated by a square
RearContactWidth1..200 umwidth of contacts; diameter for ‘dot’ shape; not for RearContactShape = ‘full’
RearContactPitch10..5e+3 ummain pitch of contacts / fingers; not for RearContactShape = ‘full’
RearContactSpacing10..5e+3 umspacing / secondary pitch of contacts; only for RearContactShape = ‘dash’, ‘dot’
RearContactLength10..1e+3 umlength of ‘dash’ contacts; only for RearContactShape = ‘dash’
RearContact; same as ‘generic’ ContactFeature settings
RearMetalShape’full’, ‘H-pattern’shape of the metallization
RearFingerWidth1..200 umwidth of metal fingers; not for RearMetalShape = ‘full’
RearFingerShadingFraction0..1shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for RearMetalShape = ‘full’
RearMetalRsheet1e-3..1 Ohmsheet resistance of the metal finger (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’
RearMetalPolarity’n-type’, ‘p-type’polarity of the applied voltage and conduction type of the skins on this side; only for Solver.Electrical.Enable = 1
RearBusbarWidth10..2e+3 umbusbar width; only for UnitCellType = ‘busbar-enhanced’
RearBusbarContactEnable1 / 0whether to model contacted or non-contacted busbars; only for UnitCellType = ‘busbar-enhanced’
RearBusbarShadingFraction0..1*..1shading fraction of the front busbars to account for reflected and scattered light still contributing to generation; only for UnitCellType = ‘busbar-enhanced’
RearBusbarContact; only for RearBusbarContactEnable = 1; same as ‘generic’ ContactFeature settings
FullRearSkin; same as ‘generic’ SkinFeature settings
LocalRearSkinadditional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings
LocalRearContactSkinadditional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings
LocalRearBusbarSkin; same as ‘generic’ SkinFeature settings
Probe(iprobe)a probe senses the surface potential at the defined position; a scalar output for the skin potential, or, if a metal feature is present, of the metal potential is produced
Material; same as ‘generic’ Material settings

Probe

parameter(recommended) value rangedescription
Namename of this probe
Plane’front’, ‘rear’on which side this probe is placed
PositionX-1e+6..0*..1e+6 um
PositionY-1e+6..0*..1e+6 um
Type’surface’*, ‘middle’what kind of voltage to probe: ‘surface’ means surface potential (representing an experimental measurement probe), ‘middle’ is applicable for tandem only, and means the potential between the main cell and the subcell (on the subcell side of the junction resistivity)

‘front and rear contact full cell’ syntax

parameter(recommended) value rangedescription
Solver; same as ‘generic’ Solver settings
ExternalCircuit; only for Solver.Electrical.Enable = 1; same as ‘generic’ ExternalCircuit settings
Bulk; same as ‘generic’ Bulk settings
Optical; same as ‘generic’ Optical settings, except that illumination shape settings are not supported
Thermal; same as ‘generic’ Thermal settings
FullCellDomainType’full’, ‘half-symmetry’, ‘quarter-symmetry’, ‘multi-domain’which type of solution domain(s) to simulate
CellSizeX1..25 cmfull cell size in X-dimension
CellSizeY1..25 cmfull cell size in Y-dimension
RedundantLineEnable1 / 0*whether to include a redundant-line
CellThickness0.1..500 umcell thickness excluding metallization
FrontContactShape’full’, ‘line’, ‘dot’, ‘dash’contact shape of front side; ‘dot’ is approximated by a square
FrontContactWidth1..200 umwidth of contacts; diameter for ‘dot’ shape; not for FrontContactShape = ‘full’
FrontContactNumber1..1e+3number of contact lines / fingers; not for FrontContactShape = ‘full’
FrontContactNumberY1..3e+3number of contacts in Y-direction; only for FrontContactShape = ‘dash’, ‘dot’
FrontContactLength10..1e+3 umlength of ‘dash’ contacts; only for FrontContactShape = ‘dash’
FrontContact; same as ‘generic’ ContactFeature settings
FrontMetalShape’full’, ‘H-pattern’, ‘shingle’shape of the metallization
FrontFingerWidth1..200 umwidth of metal fingers; not for FrontMetalShape = ‘full’
FrontFingerShadingFraction0..1shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for FrontMetalShape = ‘full’
FrontMetalRsheet1e-3..1 Ohmsheet resistance of the metal finger (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’
FrontMetalPolarity’n-type’, ‘p-type’polarity of the applied voltage and conduction type of the skins on this side; only for Solver.Electrical.Enable = 1
FrontBusbarWidth10..2e+3 umbusbar width
FrontBusbarContactEnable1 / 0whether to model contacted or non-contacted busbars
FrontBusbarShadingFraction0..1*..1shading fraction of the front busbars to account for reflected and scattered light still contributing to generation
FrontEdgeDistanceX0..1e+3 umdistance between contacts and edge in X-direction; not for FrontContactShape = ‘full’
FrontEdgeDistanceY0..1e+3 umdistance between contacts and edge in Y-direction; not for FrontContactShape = ‘full’
FrontBusbarContact; only for FrontBusbarContactEnable = 1; same as ‘generic’ ContactFeature settings
FullFrontSkin; same as ‘generic’ SkinFeature settings
LocalFrontSkinadditional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings
LocalFrontContactSkinadditional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings
LocalFrontBusbarSkin; same as ‘generic’ SkinFeature settings
LocalFrontEdgeSkinadditional skin along the perimeter of the cell; same as ‘generic’ SkinFeature settings
RearContactShape’full’, ‘line’, ‘dot’, ‘dash’contact shape of front side; ‘dot’ is approximated by a square
RearContactWidth1..200 umwidth of contacts; diameter for ‘dot’ shape; not for RearContactShape = ‘full’
RearContactNumber1..1e+3number of contact lines / fingers; not for RearContactShape = ‘full’
RearContactNumberY1..3e+3number of contacts in Y-direction; only for RearContactShape = ‘dash’, ‘dot’
RearContactLength10..1e+3 umlength of ‘dash’ contacts; only for RearContactShape = ‘dash’
RearContact; same as ‘generic’ ContactFeature settings
RearMetalShape’full’, ‘H-pattern’, ‘shingle’shape of the metallization
RearFingerWidth1..200 umwidth of metal fingers; not for RearMetalShape = ‘full’
RearFingerShadingFraction0..1shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for RearMetalShape = ‘full’
RearMetalRsheet1e-3..1 Ohmsheet resistance of the metal finger (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’
RearMetalPolarity’n-type’, ‘p-type’polarity of the applied voltage and conduction type of the skins on this side; only for Solver.Electrical.Enable = 1
RearBusbarWidth10..2e+3 umbusbar width
RearBusbarContactEnable1 / 0whether to model contacted or non-contacted busbars
RearBusbarShadingFraction0..1*..1shading fraction of the front busbars to account for reflected and scattered light still contributing to generation
RearEdgeDistanceX0..1e+3 umdistance between contacts and edge in X-direction; not for RearContactShape = ‘full’
RearEdgeDistanceY0..1e+3 umdistance between contacts and edge in Y-direction; not for RearContactShape = ‘full’
RearBusbarContact; only for RearBusbarContactEnable = 1; same as ‘generic’ ContactFeature settings
FullRearSkin; same as ‘generic’ SkinFeature settings
LocalRearSkinadditional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings
LocalRearContactSkinadditional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings
LocalRearBusbarSkin; same as ‘generic’ SkinFeature settings
LocalRearEdgeSkinadditional skin along the perimeter of the cell; same as ‘generic’ SkinFeature settings
BusbarNumber1..20number of busbars; only for FrontMetalShape = ‘H-pattern’ or RearMetalShape = ‘H-pattern’
EdgeDistanceBusbar0..1e+3 umdistance between edge and (the edge of) the busbar; only for FrontMetalShape = ‘shingle’ or RearMetalShape = ‘shingle’
CellOverlap0..5e+3 umoverlap of two shingle cells causing shading; only for FrontMetalShape = ‘shingle’ or RearMetalShape = ‘shingle’
WestEdgeSkin; same as ‘generic’ SkinFeature settings
EastEdgeSkin; same as ‘generic’ SkinFeature settings
SouthEdgeSkin; same as ‘generic’ SkinFeature settings
NorthEdgeSkin; same as ‘generic’ SkinFeature settings
Probe(iprobe)a probe senses the surface potential at the defined position; a scalar output for the skin potential, or, if a metal feature is present, of the metal potential is produced
Material; same as ‘generic’ Material settings

Probe

parameter(recommended) value rangedescription
Namename of this probe
Plane’front’, ‘rear’on which side this probe is placed
PositionX-1e+6..0*..1e+6 um
PositionY-1e+6..0*..1e+6 um
Type’surface’*, ‘middle’what kind of voltage to probe: ‘surface’ means surface potential (representing an experimental measurement probe), ‘middle’ is applicable for tandem only, and means the potential between the main cell and the subcell (on the subcell side of the junction resistivity)

‘IBC’ syntax

parameter(recommended) value rangedescription
Solver; same as ‘generic’ Solver settings
ExternalCircuit; only for Solver.Electrical.Enable = 1; same as ‘generic’ ExternalCircuit settings
Bulk; same as ‘generic’ Bulk settings
Optical; same as ‘generic’ Optical settings, except that illumination shape settings are not supported
Thermal; same as ‘generic’ Thermal settings
DomainType’standard’, ‘busbar-enhanced’, ‘pad-enhanced’, ‘full’, ‘multi-domain’which type of domain to simulate; ‘standard’ reults in a simple 2D unit cell, ‘busbar-enhanced’ covers half of a busbar width and the full finger lengths, ‘pad-enhanced’ additionally covers half the solder-pad pitch to include busbar transport losses and solder-pad geometry influence, ‘full’ creates a full-cell domain, ‘multi-domain’ creates subdomains to approximate a full-cell geometry including edges with minimal numerical mesh and computing time
CellThickness0.1..500 umcell thickness excluding metallization
FingerPitch0.5..20 mmpitch of same-polarity fingers; only for DomainType = ‘standard’, ‘busbar-enhanced’, ‘pad-enhanced’
FingerNumber20..500number of fingers of one polarity along X-axis; total number of fingers will be double; only for DomainType = ‘full’, ‘multi-domain’
BusbarPitch10..100 mmbusbar pitch; only for DomainType = ‘busbar-enhanced’, ‘pad-enhanced’
BusbarNumber2..50number of busbars of one polarity; total number of busbars will be double; only for DomainType = ‘full’, ‘multi-domain’
IncludeSolderPads1 / 0whether to include solder pads in the simulation; if disabled, busbars are assumed lossless, i.e. to be the terminals of the device; only for DomainType = ‘full’, ‘multi-domain’
FingersPerPad1..100how many same-polarity fingers (more precisely how many finger pitches) are placed in between two solderpads; only for DomainType = ‘pad-enhanced’
PadNumber2..50number of pads along X-axis; only for IncludeSolderPads = 1
PadEdgeDistance0.1..50 mmdistance between cell edge and center of outer solder pad; only for DomainType = ‘full’ or IncludeSolderPads = 1
FingersToOuterPad1..30on which finger the first solder pad is centered; e.g. 5 means the outer solder pads are centered on the fifth same-polarity finger counting from left and right, respectively; only for DomainType = ‘multi-domain’ or IncludeSolderPads = 1
CellSizeX1..25 cmfull cell size in X-dimension (along fingers); only for DomainType = ‘full’, ‘multi-domain’
CellSizeY1..25 cmfull cell size in Y-dimension (along busbars); only for DomainType = ‘full’, ‘multi-domain’
OuterFingerPolarity’n-type’, ‘p-type’whether the first and last finger at the edges are n-type or p-type fingers; only for DomainType = ‘full’, ‘multi-domain’
FullFrontSkin; same as ‘generic’ SkinFeature settings
NPShunt
PContact; same as ‘generic’ ContactFeature settings
PFinger
PBusbar
PSkin; same as ‘generic’ SkinFeature settings
LocalPContactSkinadditional skin aligned to the finger and busbar contact geometry; same as ‘generic’ SkinFeature settings
PPad
NContact; same as ‘generic’ ContactFeature settings
NFinger
NBusbar
NSkin; same as ‘generic’ SkinFeature settings
LocalNContactSkinadditional skin aligned to the finger and busbar contact geometry; same as ‘generic’ SkinFeature settings
NPad
FrontFingerdefine front fingers in case of a 3T device, currently only supported for ‘standard’ and ‘busbar-enhanced’ domain types; only for Solver.Electrical.3T.Enable = 1 or …DomainType = ‘standard’, ‘busbar-enhanced’
FrontContact; only for Solver.Electrical.3T.Enable = 1 or …DomainType = ‘standard’, ‘busbar-enhanced’; same as ‘generic’ ContactFeature settings
FrontBusbardefine front busbar in case of a 3T device, currently only supported for ‘busbar-enhanced’ domain type; only for Solver.Electrical.3T.Enable = 1 or …DomainType = ‘busbar-enhanced’
GapSkinskin properties of the gap region between n and p skin regions; same as ‘generic’ SkinFeature settings
PBusbarPerimeterSkinskin properties between the outer P-busbar region and the cell edge; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
NBusbarPerimeterSkinskin properties between the outer N-busbar region and the cell edge; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
WestPerimeterSkinskin properties between the outer finger region and the west cell edge; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
EastPerimeterSkinskin properties between the outer finger region and the east cell edge; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
WestEdgeSkin; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
EastEdgeSkin; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
SouthEdgeSkin; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
NorthEdgeSkin; only for DomainType = ‘full’, ‘multi-domain’; same as ‘generic’ SkinFeature settings
Probe(iprobe)a probe senses the surface potential at the defined position; a scalar output for the skin potential, or, if a metal feature is present, of the metal potential is produced
Material; same as ‘generic’ Material settings

NPShunt

parameter(recommended) value rangedescription
Enable1 / 0*if enabled, a shunt current can flow over the interface between n-type and p-type region (one of which may be the gap region)
OhmicResistivity0..1.000e+10 Ohmcmline-specific shunt resistiviy (in Ohm times cm) for neighboring n/p skins; only for Enable = 1
J020..1e-7 A/cmline-specific J02 shunt value for neighboring n/p skins; only for Enable = 1

PFinger

parameter(recommended) value rangedescription
Width1..1e+3 umwidth of metal fingers
ShadingFraction0..1*..1shading fraction of the fingers to account for reflected and scattered light still contributing to generation
Length1..100 mmlength of metal fingers, from center of busbar to end of finger; not for …DomainType = ‘standard’
Rsheet1e-3..1 Ohmsheet resistance of the metal fingers (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’

PBusbar

parameter(recommended) value rangedescription
SkinWidth10..2e+3 umwidth of skin region under busbar; not for …DomainType = ‘standard’
Width10..2e+3 umbusbar metal width; not for …DomainType = ‘standard’
ContactEnable1 / 0whether to model contacted or non-contacted busbars; not for …DomainType = ‘standard’
Contact; only for ContactEnable = 1; same as ‘generic’ ContactFeature settings
ShadingFraction0..1*..1shading fraction of the busbars to account for reflected and scattered light still contributing to generation; not for …DomainType = ‘standard’
Rsheet1e-3..1 Ohmsheet resistance of the metal fingers (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’ or …DomainType = ‘pad-enhanced’, ‘full’, ‘multi-domain’

PPad

parameter(recommended) value rangedescription
SkinSizeX50..2e+3 umsize in X-direction of the skin region below the solder pad; only for …DomainType = ‘pad-enhanced’ or …IncludeSolderPads = 1
SkinSizeY50..2e+3 umsize in Y-direction of the skin region below the solder pad; if this is wider than the busbar skin width, the fingers of other polarity within the X-width of the pad are shortened to avoid overlap (check the geometry to see how exactly they were shortened); for full-cell or multi-domain this is set equal to the busbar skin width; only for …DomainType = ‘pad-enhanced’
SizeX50..2e+3 umsize in X-direction of the solder pad; only for …DomainType = ‘pad-enhanced’ or …IncludeSolderPads = 1
SizeY50..2e+3 umsize in Y-direction of the solder pad; for full-cell or multi-domain this is set equal to the busbar width; only for …DomainType = ‘pad-enhanced’
ContactResistivity1e-6..1 Ohmcm2contact resistivity between busbars and solder pads; only for …DomainType = ‘pad-enhanced’ or …IncludeSolderPads = 1

NFinger

parameter(recommended) value rangedescription
Width1..1e+3 umwidth of metal fingers
ShadingFraction0..1*..1shading fraction of the fingers to account for reflected and scattered light still contributing to generation
Length1..100 mmlength of metal fingers, from center of busbar to end of finger; not for …DomainType = ‘standard’
Rsheet1e-3..1 Ohmsheet resistance of the metal fingers (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’

NBusbar

parameter(recommended) value rangedescription
SkinWidth10..2e+3 umwidth of skin region under busbar; not for …DomainType = ‘standard’
Width10..2e+3 umbusbar metal width; not for …DomainType = ‘standard’
ContactEnable1 / 0whether to model contacted or non-contacted busbars; not for …DomainType = ‘standard’
Contact; only for ContactEnable = 1; same as ‘generic’ ContactFeature settings
ShadingFraction0..1*..1shading fraction of the busbars to account for reflected and scattered light still contributing to generation; not for …DomainType = ‘standard’
Rsheet1e-3..1 Ohmsheet resistance of the metal fingers (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’ or …DomainType = ‘pad-enhanced’, ‘full’, ‘multi-domain’

NPad

parameter(recommended) value rangedescription
SkinSizeX50..2e+3 umsize in X-direction of the skin region below the solder pad; only for …DomainType = ‘pad-enhanced’ or …IncludeSolderPads = 1
SkinSizeY50..2e+3 umsize in Y-direction of the skin region below the solder pad; if this is wider than the busbar skin width, the fingers of other polarity within the X-width of the pad are shortened to avoid overlap (check the geometry to see how exactly they were shortened); for full-cell or multi-domain this is set equal to the busbar skin width; only for …DomainType = ‘pad-enhanced’
SizeX50..2e+3 umsize in X-direction of the solder pad; only for …DomainType = ‘pad-enhanced’ or …IncludeSolderPads = 1
SizeY50..2e+3 umsize in Y-direction of the solder pad; for full-cell or multi-domain this is set equal to the busbar width; only for …DomainType = ‘pad-enhanced’
ContactResistivity1e-6..1 Ohmcm2contact resistivity between busbars and solder pads; only for …DomainType = ‘pad-enhanced’ or …IncludeSolderPads = 1

FrontFinger

parameter(recommended) value rangedescription
Width1..1e+3 umwidth of front metal fingers, equals the contact width
Pitch0.5..20 mmpitch of front metal fingers; should have a reasonably low least-common multiplier with rear-side FingerPitch
ShadingFraction0..1*..1shading fraction of the fingers to account for reflected and scattered light still contributing to generation
Rsheet1e-3..1 Ohmsheet resistance of the metal fingers (= finger line resistance [Ohm/cm] * finger width [cm]; only for Solver.Electrical.MetalModelType = ‘finite-differences’

FrontBusbar

parameter(recommended) value rangedescription
Width10..2e+3 umbusbar width
ContactEnable1 / 0whether to model contacted or non-contacted busbars
Contact; only for ContactEnable = 1; same as ‘generic’ ContactFeature settings
ShadingFraction0..1*..1shading fraction of the busbars to account for reflected and scattered light still contributing to generation

Probe

parameter(recommended) value rangedescription
Namename of this probe
Plane’front’, ‘rear’on which side this probe is placed
PositionX-1e+6..0*..1e+6 um
PositionY-1e+6..0*..1e+6 um
Type’surface’*, ‘middle’what kind of voltage to probe: ‘surface’ means surface potential (representing an experimental measurement probe), ‘middle’ is applicable for tandem only, and means the potential between the main cell and the subcell (on the subcell side of the junction resistivity)