Class (Notebook: etaOpt.m) (Context: etaOpt`)
Inheritance:
etaOpt
Public Methods
-
Public Method calcAll()
-
Public Method calcEtaMax()
-
Public Method calcMpp()
-
Public Method export()
-
Public Method generateFilename()
-
Public Method giveBandgapList()
-
Public Method giveBandgapRangeList()
-
Public Method giveCell()
-
Public Method giveData()
-
Public Method giveEta()
-
Public Method giveLambdaBegin()
-
Public Method giveMatrix()
-
Public Method giveMaxValue()
-
Public Method giveMpp()
-
Public Method giveName()
-
Public Method giveSpectrum()
-
Public Method giveSubset()
-
Public Method giveSubset2Matrix()
-
Public Method giveTitle()
-
Public Method loadData()
-
Public Method plot()
-
Public Method saveData()
-
Public Method setBandgapRangeList()
-
Public Method setCell()
-
Public Method setLambdaBegin()
Protected Fields
-
Instancevariable myCell
-
Instancevariable myData
-
Instancevariable myEta
-
Instancevariable myLambdaBegin
-
Instancevariable myName
-
Instancevariable myRangeList
-
Instancevariable mySpectrum
Documentation
new[] creates an object of type etaOpt. Following options are available (showing default values):
name->""................ sets the name of the simmulation. this is used by save an export messages for comments.
item->mechStack.new[].... tells etaOpt which mechStack to use for calculations.
spectrum->spectrum.new[]. tells etaOpt which spectrum to use.
lambdaBegin->0........... tells etaOpt where to begin the spectrum of the top cell
bandgapRange->{}......... tells etaOpt for which bandgaps the calculations should be performed. for each junction the list must contain a list with minimum value, maximum value, and step size in eV. I.e. To calculate for tandem the top cell 1.1 - 2 eV every 0.05 eV and bottom cell the range 0.5-1 eV every 0.1 eV following must be typed: {{1.1,2,0.05},{0.5,1,0.1}}
Instancevariable myCell
Instancevariable myData
Instancevariable myEta
Instancevariable myLambdaBegin
Instancevariable myName
Instancevariable myRangeList
Instancevariable mySpectrum
Public Method calcAll()
- calcAll[] starts the calculation through the whole range. For calculating the efficiency spectrum.giveTotalPower[] is used.
The result can be read with giveData[], graphically displayed with plot[], saved with saveAll[] or exported ap plain text for use in other programs like Origin with export[]
Public Method calcEtaMax()
- calcEtaMax[] tries to find the maximum efficiency for a specified range.
Options (given values are defaults):
bandgapRangeList->{}... This option must be specified, and gives the inital set of bandgaps.
finestStep->0.01....... if all bandgapsteps are less or equal to this the calculation stops.
stepsPerInterval->3... how many points should be calculated in each interval. Must be bigger than 3.
debug->False........... If set to true some debug information will be printed on the screen during calc.
I.e. for a tandem cell: calcEtaMax[bandgapRangeList->{{1,2},{0.4,1.4}},finestStep->0.01, stepsPerInterval->4].
In a first step eta is calculated for all bandgaps defined by step ({1,1.25,1.5,1.75,2} for the top cell {0.4,0.65,0.9,1.15,1.4} for the bottom cell. Than the maximum is calculated. The new range is set to maxvalue +/- interval size. So if 1.4 eV was found in a first step for the top cell the new interval becomes 1.4 +/- 0.25. This is devided in 4 steps.....This iteration continous until the stepsize is less or equal to finestStep.
Public Method calcMpp()
- calcMpp[bandgapList] starts the calculation of the power at maximum powerpoint for a given bandgapList. I.e. for a tandem calcMpp[{{2,1}}] calculates the power for top cell set to 2 eV bottom cell set to 1 eV.
For calculating the efficiency spectrum.giveTotalPower[] is used.
The results can be retrieved as a List {eta,...} with giveMpp[].
Public Method export()
- export[] saves a subset of values as plain text to a file for use in other programs. Options:
subset
{}.... a list specifying which subset of data should be retrieved. x and y are placeholders other bandgaps must be set to a fix value. if only x is specified than a line of data will be returned. see also giveSubset
value
"eta".. a string specifying the value which should be retrieved. at the moment only "eta" is available. if this option is not used, value->"eta" is used.
file
""...... the filename where to save the file. If this Option is not given a filename is generated via generateFilename and saved in the current dirctory use Directory[] to get the current directory.
comment->{{}}.... additional comments for export2Origin can be applied
I.e. export[subset->{x,y,0.7}] saves
Public Method generateFilename()
- generateFilename[] returns a filename based on the most important simulation parameters like cellstructure, spectrum, temperature, junction model, currentmodelling as string. I.e. (EE)(E)_100xAM1_5d_300K_1D_CM.dat. Available options:
extension->"dat".. appends the given extension instead of the default "dat ". i.e. extension->"txt" add->"".. appends the given string to the filename without extension. i.e. generateFilename[add->"muell"]->"(E)_am15d_1000x1000W_300K_1D_CM_1muell.dat"
Public Method giveBandgapList()
- giveBandgapList[] returns a table of all bandgap combination for which the calculations should be performed. the range is set by the bandgapRAnge option in new[] or the setBandgapList[] method. giveBandgapPatternString is used to determine the cell structure.
For a tandem cell the list looks like this:
{{1.8,0.8},{1.9,0.8},{2,0.8},{1.8,0.9}...}
Public Method giveBandgapRangeList()
- giveBandgapRangeList[] returns the bandgap range list for which the calculation should be done. I.e. a "RangeList" in the form of {{2,3,0.05}{1,2,0.1}} means that the bandgap of the first cell should be varried from 2 to 3 eV with stepheights of 0.05 eV the bandgap of the second cell from 1 - 2 eV with a step height of 0.1eV.
Public Method giveCell()
- giveCell[] returns the cell as object.
Public Method giveData()
- giveData[] returns the raw data in the form {{{E1,E2,},{eta}},}.
Public Method giveEta()
- giveEta[] returns the efficiency calculated by calcMpp in %.
Public Method giveLambdaBegin()
- giveLambdaBegin[] returns begining of the spectrum of the top cell in nm.
Public Method giveMatrix()
- giveMatrix[] gives the calculated value in form of a Matrix. I.e. value->"eta",subset->{1,2,x,y} gives a matrix of efficiency, where cell1 = 1eV,cell2=2eV and cell3 and cell4 is varried. Options:
subset
{}.... a list specifying which subset of data should be retrieved. x and y are placeholders other bandgaps must be set to a fix value. if only x is specified than a line of data will be returned. see also giveSubset
value
"eta".. a string specifying the value which should be retrieved. at the moment only "eta" is available. if this option is not used, value->"eta" is used.
I.e. giveMatrix[subset->{x,y,0.7}] returns a subset of data of a tripple cell where the third bandgap = 0.7 eV.
Public Method giveMaxValue()
- giveValueMax[value] returns the complete data set for which value becomes maximal. I.e. giveValueMax["eta"] returns the maximum for a given set like this: {{1.6,1.},{46.81}}
Public Method giveMpp()
- giveMpp[] returns the results of the calculation initiated with calcMpp[].
Public Method giveName()
- giveName[] returns the name of the calculation as string.
Public Method giveSpectrum()
- giveSpectrum[] returns the selected spectrum as object.
Public Method giveSubset()
- giveSubset[] returns a subset of values. Options:
subset
{}.... a list specifying which subset of data should be retrieved. x and y are placeholders other bandgaps must be set to a fix value. if only x is specified than a line of data will be returned. see also giveSubset
value
"eta".. a string specifying the value which should be retrieved. at the moment only "eta" is available. if this option is not used, value->"eta" is used.
I.e. giveSubset[subset->{x,y,0.7}] returns a subset of data of a tripple cell where the third bandgap = 0.7 eV.
Public Method giveSubset2Matrix()
- giveSubset2Matrix[subset] converts a subset {{E11,E21,E31},,value1},}to a matrix{{value1,value2},{value10},}
Public Method giveTitle()
- giveTitle[] returns
Public Method loadData()
- loadData[] loads back a simulation previously saved with saveData; uses Get[]Options:
file->"". must be specified. loads this file.
Public Method plot()
- plot[] a contour or a line plot of the calculated data Options:
subset
{}. see givesubset[]
value
"eta".. see givesubset[]
shaded
True.. only valid for contour plots, if True the area between to lines is filled, else only lines with values area drawn.
color
True... only valid for contour plots, if True color is used else a greyscale will be used.
Public Method saveData()
- saveData[] saves the whole data with "Save[]", so that it can be loaded back with loadData[]. Options:
file->"generateFilename[]".. saves to the file given by this option. If this is option is not specified, saveData uses generateFilename[] to automatically set a filename.
Public Method setBandgapRangeList()
- setBandgapRangeList[RangeList] sets the range, for which the calculation should be done. I.e. a "RangeList" in the form of {{2,3,0.05}{1,2,0.1}} means that the bandgap of the first cell should be varried from 2 to 3 eV with stepheights of 0.05 eV the bandgap of the second cell from 1 - 2 eV with a step height of 0.1eV.
Public Method setCell()
- setCell[mechStackCell] sets the complete stack of cell to the object of type mechStackCell.
Public Method setLambdaBegin()
- setLambdaBegin[] sets the begining of the spectrum of the top cell in nm.
- This class has no child classes.
Alphabetic index Hierarchy of classes
This page was generated with the help of DOC++.