bifacial_radiance icon indicating copy to clipboard operation
bifacial_radiance copied to clipboard

Adding the ability to modify PVcell inputs when running PVMismatch

Open amir-asgharzadeh opened this issue 4 years ago • 4 comments

Currently, the function which runs PVMismatch assumes default values for cell characteristics of the module. It would be good to add a feature to modify these inputs and run the simulation for different module types. One important factor is the reverse breakdown voltage (VRBD). The default value for this parameter is -5.5 volts which seems to be correct for SunPower modules as they are n-type back contact modules. Quoting @mikofski

Typically front contact p-type c-Si cells breakdown in reverse bias somewhere between -17.0-volts to -25.0-volts.

We probably need to change the default VRBD to capture the larger range of modules.

We have done a PVMismatch model validation at NEXTracker for some partial-cell shading scenarios on a regular 72 cell p-type module and got a very good match between measured (I-V measurements) and modeled values considering -18 V for VRBD. However, assuming -5.5 V for VRBD caused high discrepancy between modeled and measured data. This validation was for hard shadows on the front side of the module. However, I think this parameter will impact the backside mismatch factor as well. @cdeline and @shirubana, do you think changing the VRBD will impact the results shown here:

http://bifipvworkshop.com/fileadmin/layout/images/bifiPV/presentations2019/bifiPV2019_POSTER_NREL_Ayala.pdf

amir-asgharzadeh avatar Dec 13 '19 21:12 amir-asgharzadeh

ICYMI @chetan201 & @cwhanse

mikofski avatar Dec 13 '19 21:12 mikofski

Yes it would be awesome to be able to modify the parameters more easily. For our electrical mismatch paper I had to manually go and change the series resistance and shunt resistance to the cell file to modify our fill factor. It works, but it's not streamlined.

shirubana avatar Dec 16 '19 13:12 shirubana

Sorry, maybe should be clearer in the documentation, create an issue on PVMismatch maybe? @chetan201 may have feedback?

Yes it would be awesome to be able to modify the parameters more easily.

Just set it and cells are updated automatically. If you are setting them all, do it first before changing any irradiance or temperature, because all the cells reference the same Python object, otherwise you will create a lot of unnecessary Python objects.

from PVMismatch import *

# create a 5 x 10 system
pvsys = pvsystem.PVsystem(
    numberStrs=5, numberMods=10)
# only 3 Python objects
# because uniform conditions
# 1 string, 1 module, 1 cell
# So setting one cell
# actually sets all cells
pvstr = pysys.pvstrs[0]
pvmod = pvstr.pvmods[0]
pvcell = pvmod.pvcells[0]
pvcell.Rs = 12.3  # ohms
# cell IV curve instantly recalculated
# but modules, strings, and system
# *not* recalculated yet
pvsys.setSuns(0.678)  # suns
# setSuns & setTemps calculates
# modules, strings, and system

For our electrical mismatch paper I had to manually go and change the series resistance and shunt resistance to the cell file to modify our fill factor.

Always good to get feedback! You shouldn't have to hardcore any changes. Use PVcell.update() to change multiple cell parameters together:

from PVMismatch import *

# update cell parameters first
pvsys = pvsystem.PVsystem(
    numberStrs=5, numberMods=10)
pvstr = pysys.pvstrs[0]
pvmod = pvstr.pvmods[0]
pvcell = pvmod.pvcells[0]
# update() recalculates
# cell IV curve instantly
pvcell.update(Rs=12.3, Rsh=456.7)  # ohms
# recalculate modules, strings, system
pvsys.setSuns(0.678)  # suns

Does this help? I think PVMismatch needs some tutorials, Jupyter notebooks.

mikofski avatar Dec 16 '19 17:12 mikofski

this is awesome! Thanks for sharing. Yes, some more tutorials/documentation would be great ~ I learned most of what I know of PVMismatch from your presentation on 2017 PVPMC ~ that's like the most complete examples I could find early this year to learn :) https://www.slideshare.net/sandiaecis/09-mikoski-pvmismatchpvpmc820170509r5

shirubana avatar Dec 16 '19 22:12 shirubana