Quokka3 Settings
common settings
parameter | (recommended) value range | description |
---|---|---|
Syntax | ‘generic’, ‘front and rear contact unit cell’, ‘front and rear contact full cell’ | What syntax to use: ‘generic’ for full functionality or simplified ones for specific scope |
DisplayPETSCResiduals | 1 / 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 |
SaveMaps | 1* / 0 | whether to force saving map results regardless of resultsfile size; when disabled, Quokka3 automatically decides based on an estimation of the size of the resultsfile |
SaveSpatial | 1 / 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 range | description |
---|---|---|
Enable | 1 / 0* | whether to perform a sweep |
NGroups | 1..2 | number 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 range | description |
---|---|---|
Parameter | any input parameter as a ‘string’ | |
Values | vector of values; all vector values within a group must have the same length |
Sweep.GroupB
parameter | (recommended) value range | description |
---|---|---|
Parameter | any input parameter as a ‘string’ | |
Values | vector of values; all vector values within a group must have the same length |
Optim
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0* | whether to perform an optimization task |
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 range | description |
---|---|---|
Parameter | any input parameter as a ‘string’ | |
Guess | guess, used as start value | |
UpperBound | upper bound | |
LowerBound | lower bound | |
Link(iparam) | input parameters linked to the main parameter, i.e. forced to have identical values |
Optim.Variable(iopt).Link
parameter | (recommended) value range | description |
---|---|---|
Parameter | name of linked input parameter |
Optim.Goal
parameter | (recommended) value range | description |
---|---|---|
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) |
Weight | relative weight for this goal for multiple goals | |
ResultName | name of scalar result of underlying simulation (datasetname in h5 file); only for Type = ‘max’, ‘min’, ‘single’ | |
XResultName | name of curve result (datasetname in h5 file), or ‘sweep’ to use a sweep parameter as X-values; only for Type = ‘curve’ | |
YResultName | name of curve result of underlying simulation (datasetname in h5 file); only for Type = ‘curve’ | |
iSweepA | 0..1e+5 | this sets the index of the GroupA sweep point to be used for this goal; only for Sweep.Enable = 1 or XResultName = ‘sweep’ |
iSweepB | 0..1e+5 | this 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’ | |
Curve | tabular 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’ |
CurveWeightsUser | vector | user-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 range | description |
---|---|---|
Enable | 1 / 0* | |
Xmin | ; only for Enable = 1 | |
Xmax | ; only for Enable = 1 |
‘generic’ syntax
parameter | (recommended) value range | description |
---|---|---|
Domain | general domain type and size settings | |
Solver | ||
Thermal | ||
ExternalCircuit | ; only for Solver.Electrical.Enable = 1 | |
Optical | ||
Bulk | ||
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 range | description |
---|---|---|
DeviceType | ‘semiconductor device’, ‘resistive device’, ‘semiconductor skin’ | type of device to simulate |
Dimensions | 1..3 | domain dimensions; only for DeviceType = ‘semiconductor device’, ‘resistive device’ |
Wz | 0.1..1e+3 um | vertical 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’ |
Wx | 1..5e+5 um | domain size in first lateral dimension (X-coordinate); only for Dimensions = ‘2’, ‘3’ |
Wy | 1..5e+5 um | domain size in second lateral dimension (Y-coordinate); only for Dimensions = ‘3’ |
MultiDomain | set 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 range | description |
---|---|---|
Enable | 1 / 0* | |
SubDomain(idomain) | ; only for Enable = 1 |
Domain.MultiDomain.SubDomain
parameter | (recommended) value range | description |
---|---|---|
AreaFraction | 0..1 | area fraction of the full domain this subdomain is representing |
OriginX | 0..2e+5 um | X-coordinate origin position |
SizeX | 1..2e+5 um | X-coordinate size |
OriginY | 0..2e+5 um | Y-coordinate origin position; only for Domain.Dimensions = ‘3’ |
SizeY | 1..2e+5 um | Y-coordinate size; only for Domain.Dimensions = ‘3’ |
IsInner | 1 / 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 range | description |
---|---|---|
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’ | |
Illumination | ||
PhotonRecycling | ||
Luminescence | ||
Skin | ; only for SolutionType = ‘skin single-point’, ‘skin QE-curve’ | |
Transient | ; only for SolutionType = ‘transient’ |
Solver.JVCurve
parameter | (recommended) value range | description |
---|---|---|
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 |
VtermUser | vector 0..2 V | ; only for VtermStepSize = ‘user’ |
Solver.SunsVocCurve
parameter | (recommended) value range | description |
---|---|---|
SunsStepSize | ‘coarse’, ‘standard’*, ‘fine’, ‘user’ | how finely to place points on the suns-Voc curve |
SunsUser | vector 1e-6..10 | ; only for SunsStepSize = ‘user’ |
Solver.SingleJVPoint
parameter | (recommended) value range | description |
---|---|---|
Type | ‘Vintern’, ‘Vterm’, ‘Jterm’, ‘OC’, ‘MPP’, ‘Jsc’, ‘pMPP’ | |
Vintern | 0..2 V | ; only for Type = ‘Vintern’ |
Vterm | 0..2 V | ; only for Type = ‘Vterm’ |
Jterm | -200..200 mA/cm2 | ; only for Type = ‘Jterm’ |
Solver.QECurve
parameter | (recommended) value range | description |
---|---|---|
Type | ‘biased’, ‘unbiased’ | |
Side | ‘front’, ‘rear’ | ; not for …SolutionType = ‘skin QE-curve’ |
MonochromaticIlluminationType | ‘constant Jgen’*, ‘Jph’ | |
JgenMonochromatic | 0..100 mA/cm2 | monochromatic generation current density; additional for ‘biased’, total for ‘unbiased’; only for MonochromaticIlluminationType = ‘constant Jgen’ |
Jph | tabular data first column: 250..1.8e+3 nm; second column: 0..10 mA/cm2 | monochromatic 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 |
WavelengthUser | vector 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 |
Vintern | 0..2 V | ; only for OperatingPoint = ‘Vintern’ |
Vterm | 0..2 V | ; only for OperatingPoint = ‘Vterm’ |
Jterm | 0..200 mA/cm2 | ; only for OperatingPoint = ‘Jterm’ |
Solver.RsCurve
parameter | (recommended) value range | description |
---|---|---|
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 |
VtermUser | vector 0..2 V | ; only for VtermStepSize = ‘user’ |
Solver.Tc
parameter | (recommended) value range | description |
---|---|---|
DeltaT | -10..10 K | ; only for …SolutionType = ‘Tc light JV’ |
Solver.ELPL
parameter | (recommended) value range | description |
---|---|---|
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) |
Vterm | 0..2 V | terminal voltage; only for ..Type = ‘EL-Vterm’, ‘general-Vterm’ |
Jterm | 0..200 mA/cm2 | terminal current density; only for ..Type = ‘EL-Jterm’, ‘general-Jterm’ |
Solver.Electrical
parameter | (recommended) value range | description |
---|---|---|
Enable | 1* / 0 | wether to solve electrical carrier transportonly if not determined by the solution type |
VocGuess | 0.2..0.68*..2.5 V | guess of Voc; a good guess might help convergence and speed; for tandem / multijunction simulations, this Voc refers to the main subcell only |
SkinJ0nieff | only 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’ |
Solver.Electrical.SkinJ0nieff
parameter | (recommended) value range | description |
---|---|---|
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 |
T | 293..300 K | temperature assumed during determination J0 values; only for Type = ‘user-T’ |
Const | 8e+9..1.200e+10 cm-3 | nieff assumed during determination J0 values; only for Type = ‘user-const’ |
Solver.Illumination
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0 | wether to solve illumination / generationonly if if not determined by the solution type |
Solver.PhotonRecycling
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0* | wether to account for reabsorption of radiative recombination contributing to generation); only for Solver.Electrical.Enable = 1 |
Solver.Luminescence
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0* | wether to solve luminescenceonly if not determined by solution type, or if photon recycling is enabled |
Solver.Skin
parameter | (recommended) value range | description |
---|---|---|
Name | name of SkinFeature to be solved | |
QFPsplit | 0..2 V | bulk-side quasi-Fermi level split |
Jskin | -100..0*..100 mA/cm2 | net current density through skin |
Solver.Transient
parameter | (recommended) value range | description |
---|---|---|
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 |
VtermStart | 0..2 V | ; only for StartType = ‘Vterm’ |
JtermStart | -200..200 mA/cm2 | ; only for StartType = ‘Jterm’ |
TimeSpan | 0..1.000e+10 s | total 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 |
Vterm | tabular data first column: 0..200 s; second column: 0..2 V | terminal voltage as a function of time; only for JVType = ‘Vterm’ |
Jterm | tabular data first column: 0..200 s; second column: -200..200 mA/cm2 | terminal current density as a function of time; set to zero to simulate a device at open-circuit; only for JVType = ‘Jterm’ |
GenerationScale | tabular data first column: 0..200 s; second column: 0..10 | scaling factor for the optical generation as a function of time; only for Solver.Illumination.Enable = 1 |
SnapshotTimes | vector 0..0*..1.000e+10 s | time points at which to store spatial data in the results files |
MaxChange | 0..0.2*..1 | maximum 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 |
Inflation | 1..1.3*..2 | by 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 |
MaxTimeStep | 0..1.000e+10*..1.000e+10 s | sets 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 |
MaxInitialTimeStep | 0..1e-8*..1e-4 s | sets 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 |
Theta | 0..0.55*..1 | factor influencing the time integration method: 1 means fully implicit, 0 means fully explicit, 0.5 means Crank-Nicolson |
Thermal
parameter | (recommended) value range | description |
---|---|---|
T | 250..298.2*..350 K | device temperature |
ExternalCircuit
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0* | ; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’ |
Rseries | 0..10 Ohmcm2 | series resistance additional to series-resistance effects within solution domain; only for Enable = 1 |
Rshunt | 100..1.000e+10 Ohmcm2 | shunt / parallel resistance; only for Enable = 1 |
DiodeJ0 | 0..1e-4 Acm-2 | saturation current density of external diode; only for Enable = 1 |
DiodeIdeality | 1..3 | ideality factor of external diode; only for Enable = 1 |
Optical
parameter | (recommended) value range | description |
---|---|---|
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 |
DefinedGeneration | settings for user-defined generation rate; only for GenerationModelType = ‘defined-generation’ | |
CorrectToKnownJgen | 1 / 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 |
Jgen | 0.1..100 mAcm-2 | known generation current density; only for ..CorrectToKnownJgen = 1 |
ScaleGeneration | 0.01..1*..5 | scales 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’ | |
MonochromaticIllumination | additional 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’ | |
SunSolve | Define 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 range | description |
---|---|---|
ReabsorptionModelType | ‘Text-Z’, ‘ideal’* | how to account for reasborption: either modeled via the ‘Text-Z’ model, or assuming ideal Lambertian surfaces |
Scale | 0..1*..1e+15 | simply scales the resulting luminescence signal; useful to calibrate to experimental units like counts / pixel / second |
OpticsAcceptanceAngle | 0..1*..1 sr | solid angle of acceptance of the detection optics in steradian, should not be larger than one as a large value will invalidate some modeling assumptions |
OpticsTransmission | tabular data first column: 250..1.8e+3 nm; second column: 0..1*..1 | spectral 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 |
WavelengthRangeUser | vector 250..1.5e+3 nm | user-defined wavelength range; only for WavelengthRangeType = ‘user’ |
Optical.Luminescence.SensorEQE
parameter | (recommended) value range | description |
---|---|---|
Type | ‘typical-Si’*, ‘user’ | EQE of the sensor / camera / detector; ‘typical-Si’ assumes Lambert-Beer absorption in a 55um thick Si sensor |
User | tabular data first column: 250..1.8e+3 nm; second column: 0..1 | ; only for Type = ‘user’ |
Optical.DefinedGeneration
parameter | (recommended) value range | description |
---|---|---|
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 |
UniformG | 0..1e+19 cm-3s-1 | uniform generation rate; only for Type = ‘uniform-G’ |
UniformJgen | 0..1e+5 mA/cm2 | generation current density; for tandem: in the main cell containting the bulk material; only for Type = ‘uniform-Jgen’ |
UniformJgenFrontSubcell | 0..0*..1e+5 mA/cm2 | generation current density in the front subcell(s); only for Type = ‘uniform-Jgen’ |
UniformJgenRearSubcell | 0..0*..1e+5 mA/cm2 | generation current density in the rear subcell(s); only for Type = ‘uniform-Jgen’ |
Profile | tabular data first column: 0..1e+3 um; second column: 0..1e+22 cm-3s-1 | generation 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 |
IlluminationIntensity | 0..100*..1e+3 mW/cm2 | illumination intensity required for efficiency calculation; set to 0 if unknown to not calculate efficiency |
Optical.FrontIllumination
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0* | enable or disable illumination on the respective side |
Scale | 0..1*..10 | scaling factor of the illumination; equivalent to suns (only!) if the defined spectrum represents one sun |
Spectrum | tabular data first column: 250..5e+3 nm; second column: 0..0*..100 mWcm-2nm-1 | illumination 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’ |
SizeX | 1..1e+6 um | ; only for Shape = ‘rectangle’ |
SizeY | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Domain.Dimensions = ‘3’ |
Diameter | 1..1e+6 um | ; only for Shape = ‘circle’ |
Optical.RearIllumination
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0* | enable or disable illumination on the respective side |
Scale | 0..1*..10 | scaling factor of the illumination; equivalent to suns (only!) if the defined spectrum represents one sun |
Spectrum | tabular data first column: 250..5e+3 nm; second column: 0..0*..100 mWcm-2nm-1 | illumination 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’ |
SizeX | 1..1e+6 um | ; only for Shape = ‘rectangle’ |
SizeY | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Domain.Dimensions = ‘3’ |
Diameter | 1..1e+6 um | ; only for Shape = ‘circle’ |
Optical.MonochromaticIllumination
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 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 |
Wavelength | 250..2e+3 nm | wavelength for monochromatic illumination; only for ..Enable = 1 |
Flux | 1e+15..1e+18 cm-2s-1 | photon 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’ |
SizeX | 1..1e+6 um | ; only for Shape = ‘rectangle’ |
SizeY | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Domain.Dimensions = ‘3’ |
Diameter | 1..1e+6 um | ; only for Shape = ‘circle’ |
Optical.Illumination
parameter | (recommended) value range | description |
---|---|---|
WavelengthRangeType | ‘auto’*, ‘user’ | defines at which wavelengths to solve generation |
WavelengthRangeUser | vector 250..1.5e+3 nm | user-defined wavelength range; only for WavelengthRangeType = ‘user’ |
Optical.TextZ
parameter | (recommended) value range | description |
---|---|---|
FrontText | external transmission of the front side; only for Optical.FrontIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘front’ or Solver.QECurve.Side = ‘front’ | |
RearText | external transmission of the rear side; only for Optical.RearIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘rear’ or Solver.QECurve.Side = ‘rear’ | |
FrontZ | light-trapping / pathlength enhancement settings for front illumination; only for Optical.FrontIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘front’ or Solver.QECurve.Side = ‘front’ or Domain.DeviceType = ‘semiconductor device’ | |
RearZ | light-trapping / pathlength enhancement settings for front illumination; only for Optical.RearIllumination.Enable = 1 or Optical.Luminescence.DetectionSide = ‘rear’ or Solver.QECurve.Side = ‘rear’ or Domain.DeviceType = ‘semiconductor device’ | |
Basore | settings 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’ | |
FrontRtot | tabular data first column: 200..2.5e+3 nm; second column: 0..1 | measured 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’ |
RearRtot | tabular data first column: 200..2.5e+3 nm; second column: 0..1 | measured 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.FrontText
parameter | (recommended) value range | description |
---|---|---|
Type | ‘Text’*, ‘from Rtot’, ‘local’ | wether to directly set Text, or let Quokka3 determine it from the total reflection Rtot (and Aext), or set to ‘local’ to define Text for each skin individually |
Text | tabular data first column: 200..1.8e+3 nm; second column: 0..1 | external transmission including Aext (and Agen, if a subcell is present on this side); only for Type = ‘Text’ |
Aext | tabular data first column: 200..2.5e+3 nm; second column: 0..0*..1 | absorption 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’ |
Agen | tabular data first column: 200..2.5e+3 nm; second column: 0..0*..1 | active absorption in illuminated side subcell as contained in Text, applied only if the skin contains a subcell within a tandem simulation |
FacetAngle | 0..90 deg | characteristic facet angle of surface morphology; only for Type = ‘from Rtot’, ‘Text’ 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’ |
IncludeShading | 1 / 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’ |
Optical.TextZ.RearText
parameter | (recommended) value range | description |
---|---|---|
Type | ‘Text’*, ‘from Rtot’, ‘local’ | wether to directly set Text, or let Quokka3 determine it from the total reflection Rtot (and Aext), or set to ‘local’ to define Text for each skin individually |
Text | tabular data first column: 200..1.8e+3 nm; second column: 0..1 | external transmission including Aext (and Agen, if a subcell is present on this side); only for Type = ‘Text’ |
Aext | tabular data first column: 200..2.5e+3 nm; second column: 0..0*..1 | absorption 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’ |
Agen | tabular data first column: 200..2.5e+3 nm; second column: 0..0*..1 | active absorption in illuminated side subcell as contained in Text, applied only if the skin contains a subcell within a tandem simulation |
FacetAngle | 0..90 deg | characteristic facet angle of surface morphology; only for Type = ‘from Rtot’, ‘Text’ 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’ |
IncludeShading | 1 / 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’ |
Optical.TextZ.FrontZ
parameter | (recommended) value range | description |
---|---|---|
Type | ‘user’, ‘parameterization’, ‘4n2-limit’, ‘Green02-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) |
User | tabular data first column: 0..1e+7 cm-1; second column: 1..100 | define Z as a function of absorption coefficient [cm-1]; only for Type = ‘user’ |
Z0 | 1..100 | Z parameter representing the low absorption limit (near band gap); only for Type = ‘parameterization’ |
Zinf | 1..10 | Z parameter representing the high absorption limit; only for Type = ‘parameterization’ |
Zp | 1..10 | parameter influencing the trend between Z0 and Zinf; only for Type = ‘parameterization’ |
Optical.TextZ.RearZ
parameter | (recommended) value range | description |
---|---|---|
Type | ‘user’, ‘parameterization’, ‘4n2-limit’, ‘Green02-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) |
User | tabular data first column: 0..1e+7 cm-1; second column: 1..100 | define Z as a function of absorption coefficient [cm-1]; only for Type = ‘user’ |
Z0 | 1..100 | Z parameter representing the low absorption limit (near band gap); only for Type = ‘parameterization’ |
Zinf | 1..10 | Z parameter representing the high absorption limit; only for Type = ‘parameterization’ |
Zp | 1..10 | parameter influencing the trend between Z0 and Zinf; only for Type = ‘parameterization’ |
Optical.TextZ.Basore
parameter | (recommended) value range | description |
---|---|---|
Front | ||
Rear |
Optical.TextZ.Basore.Front
parameter | (recommended) value range | description |
---|---|---|
RintIdeal | 1 / 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’ |
Rint | 0..1 | internal 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’ |
RintFirstEnable | 1 / 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’ |
RintFirst | 0..1 | ; only for RintFirstEnable = 1 |
Diffuse | 1 / 0 | whether internal reflection is diffuse (fully scattered) |
Scatter | 1 / 0* | whether incident light is fully scattered during the first external pass |
ApppType | ‘user’* | |
Appp | 0..0*..1 | parasitic absorption fraction per perpendicular pass through this skin; only for ApppType = ‘user’ |
Optical.TextZ.Basore.Rear
parameter | (recommended) value range | description |
---|---|---|
RintIdeal | 1 / 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’ |
Rint | 0..1 | internal 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’ |
RintFirstEnable | 1 / 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’ |
RintFirst | 0..1 | ; only for RintFirstEnable = 1 |
Diffuse | 1 / 0 | whether internal reflection is diffuse (fully scattered) |
Scatter | 1 / 0* | whether incident light is fully scattered during the first external pass |
ApppType | ‘user’* | |
Appp | 0..0*..1 | parasitic absorption fraction per perpendicular pass through this skin; only for ApppType = ‘user’ |
Optical.SunSolve
parameter | (recommended) value range | description |
---|---|---|
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 |
Bulk
parameter | (recommended) value range | description |
---|---|---|
Mesh | ; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’ | |
Electrical | ; only for Solver.Electrical.Enable = 1 | |
Material | ||
BackgroundDoping |
Bulk.Mesh
parameter | (recommended) value range | description |
---|---|---|
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 |
dzmin | 1e-4..10 um | minimum vertical element size; z - direction; only for Quality = ‘user’ |
dzmax | 1..1e+4 um | maximum vertical element size; z - direction; only for Quality = ‘user’ |
dzProfile | tabular data first column: 0..1e+6 um; second column: 1e-4..1e+18*..10 um | upper 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 |
inflation | 1..4 | maximum allowed ratio in size of neighboring elements; only for Quality = ‘user’ |
resolution | 3..30 | minimum amount of elements between any feature edges; only for Quality = ‘user’ |
dxmin | 0.1..10 um | minimum lateral element size; x - direction; only for Quality = ‘user’ |
dxmax | 1..1e+4 um | maximum lateral element size; x - direction; only for Quality = ‘user’ |
dymin | 0.1..10 um | minimum lateral element size; y - direction; only for Quality = ‘user’ |
dymax | 1..1e+4 um | maximum lateral element size; y - direction; only for Quality = ‘user’ |
dedgemin | 0.1..1*..10 um | minimum lateral element size at non-symmetry edges; only for Quality = ‘user’ |
Bulk.Electrical
parameter | (recommended) value range | description |
---|---|---|
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’ |
J0 | A/cm2 | J0 value effectively representing bulk recombination; only for EQCInputType = ‘J0’ |
J0Ideality | 0..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 range | description |
---|---|---|
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’ | |
FixedLifetime | 0.01..1e+5 us | fixed lifetime; only for Type = ‘fixed-lifetime’, ‘intrinsic plus fixed-lifetime’ |
LifetimeCurve | tabular data first column: 1e+5..1e+18 cm-3; second column: 1..1e+5 us | bulk 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 range | description |
---|---|---|
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 eV | defect energy level relative to intrinsic energy; only for Type = ‘tau-Et’, ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’ |
taun | 0.01..1e+5 us | fundamental electron lifetime; only for Type = ‘tau-Et’ |
taup | 0.01..1e+5 us | fundamental 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’ |
Nt | 0..1e+17 cm-3 | fixed defect density; only for NtType = ‘fixed’ |
NtProfile | tabular data first column: 0..1e+3 um; second column: 0..1e+17 cm-3 | defect density as a function of depth; only for NtType = ‘profile’ |
sigman | 1e-21..1e-9 cm2 | electron capture cross section; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’ |
sigmap | 1e-21..1e-9 cm2 | hole capture cross section; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’ |
vth | 1e+5..2e+7*..1e+9 cms-1 | thermal velocity for this defect; only for Type = ‘sigma-Et-Nt’, ‘sigma-Et-Nt-general’, ‘inactive-doping’ |
vthTdep | 1 / 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_Oi | 0..1e+17 cm-3 | oxygen concentration; only for Type = ‘BO-Altermatt2011’ |
BO_m | 1..3 | process related scaling parameter for degreaded lifetime; only for Type = ‘BO-Altermatt2011’ |
BO_DeactivationFraction | 0..1 | fraction of deactivated BO defect; only for Type = ‘BO-Altermatt2011’ |
Bulk.Electrical.Recombination.LifetimeImages
parameter | (recommended) value range | description |
---|---|---|
ImageList(iimg) | list of lifetime images at different illumination intensities / generation rates | |
PixelSize | 1..1e+3 um | size of the square area represented by one pixel |
SplitIntrinsic | 1* / 0 | splits 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 |
MinimumLifetime | 0.01..1*..10 us | minimum local lifetime applied as a lower cut-off when importing lifetime images; (very low local lifetime values can result in convergence problems) |
Smoothing | 1* / 0 | smooth each pixel’s lifetime-curve |
OutlayerThreshhold | 0..1*..1 frac | threshhold 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 range | description |
---|---|---|
File | name 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 | |
GenerationRate | 1.000e+10..1.000e+20 cm-3s-1 | generation rate for this image |
Bulk.BackgroundDoping
parameter | (recommended) value range | description |
---|---|---|
SettingType | ‘dopingtype-resistivity’, ‘NA-ND’* | 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’ |
Resistivity | 0.1..100 Ohmcm | ; only for SettingType = ‘dopingtype-resistivity’ or Domain.DeviceType = ‘resistive device’ |
NA | 0..1e+17 cm-3 | acceptor concentration; only for SettingType = ‘NA-ND’ |
ND | 0..1e+17 cm-3 | donor concentration; only for SettingType = ‘NA-ND’ |
SkinFeature
parameter | (recommended) value range | description |
---|---|---|
Name | name of feauture, used in geometry plots and loss analysis | |
Geometry | ; only for Domain.DeviceType = ‘semiconductor device’, ‘resistive device’ | |
OpticalModelType | ‘lumped’* | ; only for Solver.Illumination.Enable = 1 or Optical.Luminescence.ReabsorptionModelType = ‘TextZ’ |
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’ |
SkinFeature(iskin).Geometry
parameter | (recommended) value range | description |
---|---|---|
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’ |
SizeX | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
SizeY | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
SizeZ | 1..1e+4 um | ; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Diameter | 1..1e+6 um | ; only for Shape = ‘circle’ |
RepetitionsX | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
RepetitionsY | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
RepetitionsZ | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
PitchX | 1..1e+5 um | ; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
PitchY | 1..1e+5 um | ; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
PitchZ | 1..1e+5 um | ; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Inverse | 1 / 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 |
DepthUser | 0..10 um | user-defined skin depth; only for DepthType = ‘user’ |
SkinFeature(iskin).Lumped
parameter | (recommended) value range | description |
---|---|---|
Electrical | ; only for Solver.Electrical.Enable = 1 | |
Optical | ; only for …OpticalModelType = ‘lumped’ |
SkinFeature(iskin).Lumped.Electrical
parameter | (recommended) value range | description |
---|---|---|
RsheetEnable | 1 / 0* | enable / disable lateral conductance; only for ….ElectricalModelType = ‘lumped’ |
RsheetType | ‘total’, ‘near-surface’* | wether 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 |
Rsheet | 1e-3..1e+5 Ohm | sheet 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’ |
ContactedRecombination | recombination properties; only for Domain.DeviceType = ‘semiconductor device’, ‘semiconductor skin’ or ….ElectricalModelType = ‘lumped’ | |
NonContactedRecombination | recombination properties; only for Domain.DeviceType = ‘semiconductor device’, ‘semiconductor skin’ or ….ElectricalModelType = ‘lumped’ | |
EtaColl | collection efficiency; has effect only when set in combination with a user-defined skin depth; only for ….ElectricalModelType = ‘lumped’ | |
WestEdgeJ02 | 0..0*..5e-8 Acm-1 | J02edge value, applied where this skin corners the west solution domain edge |
EastEdgeJ02 | 0..0*..5e-8 Acm-1 | J02edge value, applied where this skin corners the east solution domain edge |
NorthEdgeJ02 | 0..0*..5e-8 Acm-1 | J02edge value, applied where this skin corners the north solution domain edge |
SouthEdgeJ02 | 0..0*..5e-8 Acm-1 | J02edge 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’ |
ShuntResistivity | 0..1.000e+10 Ohmcm | line-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’ |
ShuntJ02 | 0..1e-7 A/cm | line-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’ |
VerticalResistivityEnable | 1 / 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 range | description |
---|---|---|
ModelType | ‘J0’, ‘Seff’, ‘J0(V)’, ‘Seff(deltan)’, ‘off’* | how to model recombination |
J0 | 0..1e-11 Acm-2 | J0 value; only for ModelType = ‘J0’ |
J02 | 0..0*..1e-7 Acm-2 | J02 value; only for ModelType = ‘J0’ |
Seff | 0..1e+6 cms-1 | effective 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-2 | defines 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-1 | defines Seff as a function of bulk-side excess carrier density; only for ModelType = ‘Seff(deltan)’ |
SkinFeature(iskin).Lumped.Electrical.NonContactedRecombination
parameter | (recommended) value range | description |
---|---|---|
ModelType | ‘J0’, ‘Seff’, ‘J0(V)’, ‘Seff(deltan)’, ‘off’* | how to model recombination |
J0 | 0..1e-11 Acm-2 | J0 value; only for ModelType = ‘J0’ |
J02 | 0..0*..1e-7 Acm-2 | J02 value; only for ModelType = ‘J0’ |
Seff | 0..1e+6 cms-1 | effective 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-2 | defines 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-1 | defines Seff as a function of bulk-side excess carrier density; only for ModelType = ‘Seff(deltan)’ |
SkinFeature(iskin).Lumped.Electrical.VerticalResistivity
parameter | (recommended) value range | description |
---|---|---|
CurrentTransportModel | ‘ohmic’*, ‘MIS’ | how to model current transport, see description below; not for Solver.Electrical.BulkModelType = ‘full’ or Domain.DeviceType = ‘resistive device’ |
OhmicResistivity | 1e-6..1 Ohmcm2 | contact 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’ |
J0 | 0..1e-6 A/cm2 | ; only for ..MISInputType = ‘J0’ |
SchottkyBarrier | -0.5..1 eV | Schottky barrier height; only for ..MISInputType = ‘MIS properties’ |
TunnelBarrier | 0..5 eV | barrier height of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’ |
TunnelThickness | 0..10 nm | thickness of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’ |
EffectiveMass | 0.01..1*..2 | effective tunneling mass, fraction of electron rest mass; defaults to 1; only for ..MISInputType = ‘MIS properties’ |
SkinFeature(iskin).Lumped.Optical
parameter | (recommended) value range | description |
---|---|---|
External | only if this skin’s side Text Type in the Optcial.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 range | description |
---|---|---|
Type | ‘Text’* | if Text is set locally for each skin, Text must be directly provided |
Text | tabular data first column: 200..1.8e+3 nm; second column: 0..1 | external transmission including Aext (and Agen, if a subcell is present on this side); only for Type = ‘Text’ |
Aext | tabular data first column: 200..2.5e+3 nm; second column: 0..0*..1 | parasitic absorption in illuminated side films during first light pass (usually non-zero only for short-wavelength region) |
Agen | tabular data first column: 200..2.5e+3 nm; second column: 0..0*..1 | active absorption in illuminated side subcell as contained in Text, applied only if the skin contains a subcell within a tandem simulation |
FacetAngle | 0..90 deg | characteristic facet angle of surface morphology |
SkinFeature(iskin).Lumped.Optical.Internal
parameter | (recommended) value range | description |
---|---|---|
RintIdeal | 1 / 0* | when enabled, the internal reflection will is set the the ideal Lambertian limit: Rint = 1-1/n^2 |
Rint | 0..1 | internal 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 |
RintFirstEnable | 1 / 0* | enable setting the first-pass internal reflection different to subsequent passes; not for RintIdeal = 1 |
RintFirst | 0..1 | ; only for RintFirstEnable = 1 |
Diffuse | 1 / 0 | whether internal reflection is diffuse (fully scattered) |
Scatter | 1 / 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 |
Appp | 0..0*..1 | parasitic absorption fraction per perpendicular pass through this skin; only for ApppType = ‘user’ |
SkinFeature(iskin).Layer
parameter | (recommended) value range | description |
---|---|---|
Name | Name of this layer | |
Type | ‘near-surface’, ‘transport’, ‘lumped-subcell’ | 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 |
SurfaceRecombination | ; only for …ElectricalModelType = ‘detailed’ or Type = ‘near-surface’ | |
DopingProfile | tabular data first column: 0..3 um; second column: 0..1e+21 cm-3 | the 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’ |
ActiveProfile | tabular data first column: 0..3 um; second column: 0..1e+21 cm-3 | the 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; only for Type = ‘near-surface’ |
Material | the material this layer is made from; use e.g. ‘Si’ to model a poly-Si layer with idealized c-Si properties; or set to a user-defined material defined in the Material.User(imat). settings group; only for Type = ‘transport’ | |
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’ |
Rsheet | 0..1e+4 Ohm | ; only for RsheetType = ‘user’ |
ApppType | ‘model’, ‘off’ | whether to determine internal parasitic absorption of this layer calculated by the material’s optical properties; only for Type = ‘transport’, ‘near-surface’ or ..Lumped.Optical.Internal.ApppType = ‘from layers’ |
DopingDensityType | ‘from DOS and Eact’, ‘user’ | ; only for RsheetType = ‘model’ or TLModelType = ‘analytic band-bending’ or ApppType = ‘model’ or Type = ‘near-surface’ |
DopingDensity | 0..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’ |
Eact | 0..1 eV | ; only for EactType = ‘user’ |
Thickness | 0..1e+3 nm | thickness of this layer; for a metal-like transport layer, this only affects results plotting (band-diagram) but not simulation results; only for Type = ‘transport’ or ApppType = ‘model’ |
Interface | for 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* | |
WorkFunction | 0..10 eV | ; only for Interface.BarrierHeightType = ‘from workfunction’ |
JunctionResistivity | defines 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* | |
Subcell | defines the JV-characteristics of a subscell within that skin for a tandem simulation; only for Type = ‘lumped-subcell’ |
SkinFeature(iskin).Layer(ilay).SurfaceRecombination
parameter | (recommended) value range | description |
---|---|---|
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 |
Kimmerle2016 | ; only for ..Type = ‘Si-Kimmerle2016’ | |
Sn | 0..1e+7 cm/s | fundamental electron surface recombination velocity; only for ..Type = ‘S’ |
Sp | 0..1e+7 cm/s | fundamental hole surface recombination velocity; only for ..Type = ‘S’ |
Et_Ei | -1..0*..1 eV | defect energy relative to intrinsic energy; only for ..Type = ‘S’, ‘Dit-sigma’ |
sigman | 1.000e-20..1.000e-10 cm2 | electron capture cross section; only for ..Type = ‘Dit-sigma’ |
sigmap | 1.000e-20..1.000e-10 cm2 | hole capture cross section; only for ..Type = ‘Dit-sigma’ |
Dit | 0..1.000e+20 cm-2 | surface defect density; only for ..Type = ‘Dit-sigma’ |
vth | 1e+5..2e+7*..1e+9 cms-1 | thermal velocity; only for ..Type = ‘Dit-sigma’ |
vthTdep | 1 / 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-3 |
SkinFeature(iskin).Layer(ilay).SurfaceRecombination.Kimmerle2016
parameter | (recommended) value range | description |
---|---|---|
Charge | 1 / 0* | 1: explicitly accounting for charge; 0: Sp and Sn include the effect of charge |
Texture | 1 / 0 | whether 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 range | description |
---|---|---|
MinorityThermionicEmission | 1 / 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 |
Insulator | insulator 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’ |
OhmicResistivity | 1e-6..1.000e+10 Ohmcm2 | ohmic resistivity of majority carriers parallel to MS / MIS transport; not for BarrierHeightType = ‘flat-bands’ or …TLModelType = ‘analytic band-bending’ |
SkinFeature(iskin).Layer(ilay).Interface.Insulator
parameter | (recommended) value range | description |
---|---|---|
Enable | 1 / 0* | enable an insulator, triggers the use of the detailed MIS model, currently only works for a metal-like transport layer |
Thickness | 0..5 nm | ; only for Enable = 1 |
RelativePermittivity | 1..100 | ; only for Enable = 1 |
ElectronBarrier | 0..0*..5 eV | ; only for Enable = 1 |
HoleBarrier | 0..0*..5 eV | ; only for Enable = 1 |
ElectronEffectiveMass | 0.1..1*..2 | ; only for Enable = 1 |
HoleEffectiveMass | 0.1..1*..2 | ; only for Enable = 1 |
SkinFeature(iskin).Layer(ilay).JunctionResistivity
parameter | (recommended) value range | description |
---|---|---|
CurrentTransportModel | ‘ohmic’*, ‘MIS’ | how to model current transport, see description below; not for Solver.Electrical.BulkModelType = ‘full’ or Domain.DeviceType = ‘resistive device’ |
OhmicResistivity | 1e-6..1 Ohmcm2 | contact 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’ |
J0 | 0..1e-6 A/cm2 | ; only for ..MISInputType = ‘J0’ |
SchottkyBarrier | -0.5..1 eV | Schottky barrier height; only for ..MISInputType = ‘MIS properties’ |
TunnelBarrier | 0..5 eV | barrier height of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’ |
TunnelThickness | 0..10 nm | thickness of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’ |
EffectiveMass | 0.01..1*..2 | effective tunneling mass, fraction of electron rest mass; defaults to 1; only for ..MISInputType = ‘MIS properties’ |
SkinFeature(iskin).Layer(ilay).Subcell
parameter | (recommended) value range | description |
---|---|---|
JVType | ‘user’, ‘two-diode’ | whether the JV-characteristics is defined via user JV-curve, or a via a two-diode model parameterization |
JVUser | tabular data first column: -1..2 V; second column: -100..500 mA/cm2 | JV-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’ |
J01 | 0..1e+4 aA/cm2 | J01 of subcell JV-characteristics; only for JVType = ‘two-diode’ |
J02 | 0..1e+4 fA/cm2 | J02 of subcell JV-characteristics; only for JVType = ‘two-diode’ |
Rseries | 0..10 Ohmcm2 | series resistance of subcell JV-characteristics; only for JVType = ‘two-diode’ |
Rshunt | 100..1e+11 Ohmcm2 | shunt resistance of subcell JV-characteristics; only for JVType = ‘two-diode’ |
Jsc | 0..0*..100 mA/cm2 | Jsc of subcell JV-characteristics; will be ignored if generation is determined by optical modeling instead; only for JVType = ‘two-diode’ |
EtaColl | collection efficiency (=ratio of collected and generated carriers); only applied if the GenerationModelType is NOT set to ‘defined-generation’ to determine collected current density from the optical generation |
SkinFeature(iskin).Detailed
parameter | (recommended) value range | description |
---|---|---|
Mesh | ||
Multiscale | ; only for Domain.DeviceType = ‘semiconductor device’ or Solver.Electrical.BulkModelType = ‘full’ |
SkinFeature(iskin).Detailed.Mesh
parameter | (recommended) value range | description |
---|---|---|
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 |
dzmin | 1e-4..10 um | minimum vertical element size; z - direction; only for Quality = ‘user’ |
dzmax | 1..1e+4 um | maximum vertical element size; z - direction; only for Quality = ‘user’ |
dzProfile | tabular data first column: 0..1e+6 um; second column: 1e-4..1e+18*..10 um | upper 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 |
inflation | 1..4 | maximum allowed ratio in size of neighboring elements; only for Quality = ‘user’ |
resolution | 3..30 | minimum amount of elements between any feature edges; only for Quality = ‘user’ |
SkinFeature(iskin).Detailed.Multiscale
parameter | (recommended) value range | description |
---|---|---|
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 |
TextureMultiplier | 1..1*..1.7 | scales 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 range | description |
---|---|---|
Name | name 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’ |
OhmicResistivity | 1e-6..1 Ohmcm2 | contact 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’ |
J0 | 0..1e-6 A/cm2 | ; only for ..MISInputType = ‘J0’ |
SchottkyBarrier | -0.5..1 eV | Schottky barrier height; only for ..MISInputType = ‘MIS properties’ |
TunnelBarrier | 0..5 eV | barrier height of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’ |
TunnelThickness | 0..10 nm | thickness of tunneling (insulator) layer; only for ..MISInputType = ‘MIS properties’ |
EffectiveMass | 0.01..1*..2 | effective tunneling mass, fraction of electron rest mass; defaults to 1; only for ..MISInputType = ‘MIS properties’ |
ContactFeature(icont).Geometry
parameter | (recommended) value range | description |
---|---|---|
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’ |
SizeX | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
SizeY | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
SizeZ | 1..1e+4 um | ; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Diameter | 1..1e+6 um | ; only for Shape = ‘circle’ |
RepetitionsX | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
RepetitionsY | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
RepetitionsZ | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
PitchX | 1..1e+5 um | ; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
PitchY | 1..1e+5 um | ; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
PitchZ | 1..1e+5 um | ; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Inverse | 1 / 0* |
MetalFeature
parameter | (recommended) value range | description |
---|---|---|
Name | name 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 range | description |
---|---|---|
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’ |
SizeX | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
SizeY | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
SizeZ | 1..1e+4 um | ; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Diameter | 1..1e+6 um | ; only for Shape = ‘circle’ |
RepetitionsX | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
RepetitionsY | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
RepetitionsZ | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
PitchX | 1..1e+5 um | ; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
PitchY | 1..1e+5 um | ; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
PitchZ | 1..1e+5 um | ; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Inverse | 1 / 0* |
MetalFeature(imet).Electrical
parameter | (recommended) value range | description |
---|---|---|
Polarity | ‘n-type’, ‘p-type’ | the (initial) polarity, i.e. whether the metal feature is connected to ground / 0 V (p-type) or the applied voltage (n-type)only if not simulating a resistive device with ‘finite-differences’ metal model type |
Rsheet | 1e-3..1 Ohm | sheet resistance of the metal; only for Solver.Electrical.MetalModelType = ‘finite-differences’ |
MetalFeature(imet).Optical
parameter | (recommended) value range | description |
---|---|---|
ShadingFraction | 0..1*..1 | shading 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 range | description |
---|---|---|
Name | name 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 range | description |
---|---|---|
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’ |
SizeX | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
SizeY | 1..1e+6 um | ; only for Shape = ‘rectangle’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
SizeZ | 1..1e+4 um | ; only for Shape = ‘rectangle’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Diameter | 1..1e+6 um | ; only for Shape = ‘circle’ |
RepetitionsX | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
RepetitionsY | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
RepetitionsZ | 1..1*..300 | ; not for Shape = ‘full’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
PitchX | 1..1e+5 um | ; not for RepetitionsX = ‘1’ or Plane = ‘front’, ‘rear’, ‘north’, ‘south’ |
PitchY | 1..1e+5 um | ; not for RepetitionsY = ‘1’ or Plane = ‘front’, ‘rear’, ‘east’, ‘west’ or Domain.Dimensions = ‘3’ |
PitchZ | 1..1e+5 um | ; not for RepetitionsZ = ‘1’ or Plane = ‘east’, ‘west’, ‘north’, ‘south’ |
Inverse | 1 / 0* |
PadFeature(imet).Electrical
parameter | (recommended) value range | description |
---|---|---|
Polarity | ‘n-type’, ‘p-type’ | the polarity of the potential, i.e. ground / 0 V (p-type) or the applied voltage (n-type) |
ContactResistivity | 1e-6..1 Ohmcm2 | contact resistivity between pad and metal |
PadFeature(imet).Optical
parameter | (recommended) value range | description |
---|---|---|
ShadingFraction | 0..1*..1 | shading 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 range | description |
---|---|---|
Name | name 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 |
Material
parameter | (recommended) value range | description |
---|---|---|
User(imat) | user-defined materials | |
Si |
Material.User
parameter | (recommended) value range | description |
---|---|---|
Name | ||
ElectronAffinity | 0..10 eV | |
RelativePermittivity | 1..100 | |
AugerModel | ‘off’*, ‘Cn-Cp’ | |
AugerCp | 0..1.000e+10 cm6s-1 | ; only for AugerModel = ‘Cn-Cp’ |
AugerCn | 0..1.000e+10 cm6s-1 | ; only for AugerModel = ‘Cn-Cp’ |
MobilityModel | ‘user-const’* | |
HoleMobility | 1..1e+4 cm2V-1s-1 | ; only for MobilityModel = ‘user-const’ |
ElectronMobility | 1..1e+4 cm2V-1s-1 | ; only for MobilityModel = ‘user-const’ |
ni0Model | ‘DOS-bandgap’*, ‘user-const’ | |
ni0 | 1e+8..1e+13 cm-3 | ; only for ni0Model = ‘user-const’ |
DOSModel | ‘user-const’* | |
Nc | 1e+17..1.000e+20 cm2V-1s-1 | conduction band density of states; only for DOSModel = ‘user-const’ |
Nv | 1e+17..1.000e+20 cm2V-1s-1 | valence band density of states; only for DOSModel = ‘user-const’ |
BandGapModel | ‘user-const’* | |
BandGap | 0.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 |
Crad | 0..1.000e+20 cm-3s-1 | radiative recombination coefficient Crad = Brad,lowni^2 in units of cm-3s-1; only for CradModel = ‘user-const’* |
nkModel | ‘user’*, ‘database’ | |
nk | ; only for nkModel = ‘user’, ‘database’ | |
FCAModel | ‘off’*, ‘user’ | ; only for Solver.Illumination.Enable = 1 |
FCA | tabular data first column: 200..1.5e+3 nm; second column: 0..1e+6 cm-1 | FCA absoprtion coefficient as a function of wavelength; only for FCAModel = ‘user’ |
IonsEnable | 1 / 0* | whether this material has mobile ions |
AnionMobility | 0..1e-7 cm2V-1s-1 | mobility of anions; set to 0 to define immobile anions; only for IonsEnable = 1 |
CationMobility | 0..1e-7 cm2V-1s-1 | mobility of cations; set to 0 to define immobile anions; only for IonsEnable = 1 |
N0an | 1e+12..119 cm2V-1s-1 | average concentration of anions; only for IonsEnable = 1 |
N0cat | 1e+12..119 cm2V-1s-1 | average concentration of cations; only for IonsEnable = 1 |
Material.User(imat).nk
parameter | (recommended) value range | description |
---|---|---|
Database | ; only for nkModel = ‘database’ | |
n | tabular data first column: 200..1.5e+3 nm; second column: 1..10 | ; only for …nkModel = ‘user’ |
k | tabular 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 range | description |
---|---|---|
MaterialName | name of material as stored in the database | |
DatasetName | name of dataset for this material; ‘default’ uses the default dataset |
Material.Si
parameter | (recommended) value range | description |
---|---|---|
ElectronAffinity | 0..4.05*..10 eV | |
RelativePermittivity | 1..11.68*..100 | |
AugerModel | ‘Si-Niewelt2021’*, ‘Si-Richter2012’, ‘Si-Sinton1987’, ‘Si-Altermatt2011’ | |
AugerCp | 0..1.000e+10 cm6s-1 | ; only for AugerModel = ‘Cn-Cp’ |
AugerCn | 0..1.000e+10 cm6s-1 | ; only for AugerModel = ‘Cn-Cp’ |
MobilityModel | ‘Si-Schindler2014’*, ‘Si-Klaassen1992’, ‘user-const’ | |
HoleMobility | 1..1e+4 cm2V-1s-1 | ; only for MobilityModel = ‘user-const’ |
ElectronMobility | 1..1e+4 cm2V-1s-1 | ; only for MobilityModel = ‘user-const’ |
ni0Model | ‘DOS-bandgap’*, ‘user-const’ | |
ni0 | 1e+8..1e+13 cm-3 | ; only for ni0Model = ‘user-const’ |
DOSModel | ‘Si-Green1990’, ‘Si-Couderc2014’*, ‘user-const’ | |
Nc | 1e+17..1.000e+20 cm2V-1s-1 | conduction band density of states; only for DOSModel = ‘user-const’ |
Nv | 1e+17..1.000e+20 cm2V-1s-1 | valence band density of states; only for DOSModel = ‘user-const’ |
BandGapModel | ‘Paessler2002’*, ‘user-const’ | |
BandGap | 0.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 |
Crad | 0..1.000e+20 cm-3s-1 | radiative recombination coefficient Crad = Brad,lowni^2 in units of cm-3s-1; only for CradModel = ‘user-const’* |
nkModel | ‘user’, ‘Si-Green2021’*, ‘Si-Schinke2015_Green2008’, ‘database’ | |
nk | ; only for nkModel = ‘user’, ‘database’ | |
FCAModel | ‘Si-BakerFinch2014’*, ‘off’, ‘user’ | ; only for Solver.Illumination.Enable = 1 |
FCA | tabular data first column: 200..1.5e+3 nm; second column: 0..1e+6 cm-1 | FCA absoprtion coefficient as a function of wavelength; only for FCAModel = ‘user’ |
BGNModel | ‘Si-Schenk1998’*, ‘Si-Schenk1998_LI’, ‘Si-Yan-Cuevas2014’, ‘off’ | |
BandGapMultiplier | 0.9..1*..1.1 | multiplier 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.nk
parameter | (recommended) value range | description |
---|---|---|
Database | ; only for nkModel = ‘database’ | |
n | tabular data first column: 200..1.5e+3 nm; second column: 1..10 | ; only for …nkModel = ‘user’ |
k | tabular data first column: 200..1.5e+3 nm; second column: 0..1e+5 | ; only for …nkModel = ‘user’ |
Material.Si.nk.Database
parameter | (recommended) value range | description |
---|---|---|
MaterialName | name of material as stored in the database | |
DatasetName | name of dataset for this material; ‘default’ uses the default dataset |
‘front and rear contact unit cell’ syntax
parameter | (recommended) value range | description |
---|---|---|
Solver | ; same as ‘generic’ Solver settings | |
ExternalCircuit | ; only for Solver.Electrical.Enable = 1; same as ‘generic’ ExternalCircuit settings | |
Optical | ; same as ‘generic’ Optical settings, except that illumination shape settings are not supported | |
Thermal | ; same as ‘generic’ Thermal settings | |
Bulk | ; same as ‘generic’ Bulk 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 |
BusbarPitch | 10..100 mm | busbar pitch; only for UnitCellType = ‘busbar-enhanced’ |
CellThickness | 0.1..500 um | cell thickness excluding metallization |
FrontContactShape | ‘full’, ‘line’, ‘dot’, ‘dash’ | contact shape of front side; ‘dot’ is approximated by a square |
FrontContactWidth | 1..200 um | width of contacts; diameter for ‘dot’ shape; not for FrontContactShape = ‘full’ |
FrontContactPitch | 10..5e+3 um | main pitch of contacts / fingers; not for FrontContactShape = ‘full’ |
FrontContactSpacing | 10..5e+3 um | spacing / secondary pitch of contacts; only for FrontContactShape = ‘dash’, ‘dot’ |
FrontContactLength | 10..1e+3 um | length of ‘dash’ contacts; only for FrontContactShape = ‘dash’ |
FrontContact | ; same as ‘generic’ ContactFeature settings | |
FrontMetalShape | ‘full’, ‘H-pattern’ | shape of the metallization |
FrontFingerWidth | 1..200 um | width of metal fingers; not for FrontMetalShape = ‘full’ |
FrontFingerShadingFraction | 0..1 | shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for FrontMetalShape = ‘full’ |
FrontMetalRsheet | 1e-3..1 Ohm | sheet resistance of the metal fingers; 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 |
FrontBusbarWidth | 10..2e+3 um | busbar width; only for UnitCellType = ‘busbar-enhanced’ |
FrontBusbarContactEnable | 1 / 0 | whether to model contacted or non-contacted busbars; only for UnitCellType = ‘busbar-enhanced’ |
FrontBusbarShadingFraction | 0..1*..1 | shading 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 | |
LocalFrontSkin | additional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings | |
LocalFrontContactSkin | additional 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 |
RearContactWidth | 1..200 um | width of contacts; diameter for ‘dot’ shape; not for RearContactShape = ‘full’ |
RearContactPitch | 10..5e+3 um | main pitch of contacts / fingers; not for RearContactShape = ‘full’ |
RearContactSpacing | 10..5e+3 um | spacing / secondary pitch of contacts; only for RearContactShape = ‘dash’, ‘dot’ |
RearContactLength | 10..1e+3 um | length of ‘dash’ contacts; only for RearContactShape = ‘dash’ |
RearContact | ; same as ‘generic’ ContactFeature settings | |
RearMetalShape | ‘full’, ‘H-pattern’ | shape of the metallization |
RearFingerWidth | 1..200 um | width of metal fingers; not for RearMetalShape = ‘full’ |
RearFingerShadingFraction | 0..1 | shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for RearMetalShape = ‘full’ |
RearMetalRsheet | 1e-3..1 Ohm | sheet resistance of the metal fingers; 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 |
RearBusbarWidth | 10..2e+3 um | busbar width; only for UnitCellType = ‘busbar-enhanced’ |
RearBusbarContactEnable | 1 / 0 | whether to model contacted or non-contacted busbars; only for UnitCellType = ‘busbar-enhanced’ |
RearBusbarShadingFraction | 0..1*..1 | shading 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 | |
LocalRearSkin | additional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings | |
LocalRearContactSkin | additional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings | |
LocalRearBusbarSkin | ; same as ‘generic’ SkinFeature settings | |
Material | ; same as ‘generic’ Material settings |
‘front and rear contact full cell’ syntax
parameter | (recommended) value range | description |
---|---|---|
Solver | ; same as ‘generic’ Solver settings | |
ExternalCircuit | ; only for Solver.Electrical.Enable = 1; same as ‘generic’ ExternalCircuit settings | |
Optical | ; same as ‘generic’ Optical settings, except that illumination shape settings are not supported | |
Thermal | ; same as ‘generic’ Thermal settings | |
Bulk | ; same as ‘generic’ Bulk settings | |
FullCellDomainType | ‘full’, ‘half-symmetry’, ‘quarter-symmetry’, ‘multi-domain’ | which type of solution domain(s) to simulate |
CellSizeX | 1..25 cm | full cell size in X-dimension |
CellSizeY | 1..25 cm | full cell size in Y-dimension |
RedundantLineEnable | 1 / 0* | whether to include a redundant-line |
CellThickness | 0.1..500 um | cell thickness excluding metallization |
FrontContactShape | ‘full’, ‘line’, ‘dot’, ‘dash’ | contact shape of front side; ‘dot’ is approximated by a square |
FrontContactWidth | 1..200 um | width of contacts; diameter for ‘dot’ shape; not for FrontContactShape = ‘full’ |
FrontContactNumber | 1..1e+3 | number of contact lines / fingers; not for FrontContactShape = ‘full’ |
FrontContactNumberY | 1..3e+3 | number of contacts in Y-direction; only for FrontContactShape = ‘dash’, ‘dot’ |
FrontContactLength | 10..1e+3 um | length of ‘dash’ contacts; only for FrontContactShape = ‘dash’ |
FrontContact | ; same as ‘generic’ ContactFeature settings | |
FrontMetalShape | ‘full’, ‘H-pattern’, ‘shingle’ | shape of the metallization |
FrontFingerWidth | 1..200 um | width of metal fingers; not for FrontMetalShape = ‘full’ |
FrontFingerShadingFraction | 0..1 | shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for FrontMetalShape = ‘full’ |
FrontMetalRsheet | 1e-3..1 Ohm | sheet resistance of the metal fingers; 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 |
FrontBusbarWidth | 10..2e+3 um | busbar width |
FrontBusbarContactEnable | 1 / 0 | whether to model contacted or non-contacted busbars |
FrontBusbarShadingFraction | 0..1*..1 | shading fraction of the front busbars to account for reflected and scattered light still contributing to generation |
FrontEdgeDistanceX | 0..1e+3 um | distance between contacts and edge in X-direction; not for FrontContactShape = ‘full’ |
FrontEdgeDistanceY | 0..1e+3 um | distance 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 | |
LocalFrontSkin | additional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings | |
LocalFrontContactSkin | additional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings | |
LocalFrontBusbarSkin | ; same as ‘generic’ SkinFeature settings | |
LocalFrontEdgeSkin | additional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings | |
RearContactShape | ‘full’, ‘line’, ‘dot’, ‘dash’ | contact shape of front side; ‘dot’ is approximated by a square |
RearContactWidth | 1..200 um | width of contacts; diameter for ‘dot’ shape; not for RearContactShape = ‘full’ |
RearContactNumber | 1..1e+3 | number of contact lines / fingers; not for RearContactShape = ‘full’ |
RearContactNumberY | 1..3e+3 | number of contacts in Y-direction; only for RearContactShape = ‘dash’, ‘dot’ |
RearContactLength | 10..1e+3 um | length of ‘dash’ contacts; only for RearContactShape = ‘dash’ |
RearContact | ; same as ‘generic’ ContactFeature settings | |
RearMetalShape | ‘full’, ‘H-pattern’, ‘shingle’ | shape of the metallization |
RearFingerWidth | 1..200 um | width of metal fingers; not for RearMetalShape = ‘full’ |
RearFingerShadingFraction | 0..1 | shading fraction of the fingers to account for reflected and scattered light still contributing to generation; not for RearMetalShape = ‘full’ |
RearMetalRsheet | 1e-3..1 Ohm | sheet resistance of the metal fingers; 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 |
RearBusbarWidth | 10..2e+3 um | busbar width |
RearBusbarContactEnable | 1 / 0 | whether to model contacted or non-contacted busbars |
RearBusbarShadingFraction | 0..1*..1 | shading fraction of the front busbars to account for reflected and scattered light still contributing to generation |
RearEdgeDistanceX | 0..1e+3 um | distance between contacts and edge in X-direction; not for RearContactShape = ‘full’ |
RearEdgeDistanceY | 0..1e+3 um | distance 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 | |
LocalRearSkin | additional skin aligned to the contact geometry, with a user-defined width; same as ‘generic’ SkinFeature settings | |
LocalRearContactSkin | additional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings | |
LocalRearBusbarSkin | ; same as ‘generic’ SkinFeature settings | |
LocalRearEdgeSkin | additional skin with identical geometry as the contacts; same as ‘generic’ SkinFeature settings | |
BusbarNumber | 1..20 | number of busbars; only for FrontMetalShape = ‘H-pattern’ or RearMetalShape = ‘H-pattern’ |
EdgeDistanceBusbar | 0..1e+3 um | distance between edge and (the edge of) the busbar; only for FrontMetalShape = ‘shingle’ or RearMetalShape = ‘shingle’ |
CellOverlap | 0..5e+3 um | overlap 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 | |
Material | ; same as ‘generic’ Material settings |