SlideShare una empresa de Scribd logo
1 de 15
Copyright | © 2017 SunPower Corporation
PVMismatch Free Open Source Software
8th PV PMC Workshop, Albuquerque, NM
Bennet E. Meyers and Mark A. Mikofski | May 9th, 2017
2Copyright | © 2017 SunPower Corporation |
Agenda
• Description
• Simple usage
• Benefits
• Advanced usage
• Links to source,
documentation and
installation
• Future work
• Questions
3Copyright | © 2017 SunPower Corporation |
Description
• PVMismatch is …
– A free open source software Python
package
– for modeling both forward and
reverse bias current – voltage
(I-V) curves
– at system, string, module and cell
level
– using a 2-diode analog.
• Future versions will use a backend
plugin to allow other cell models like
CEC, PVSyst, etc. to be used instead of
the default 2-diode model.
– Cell, module, string and system
constraints are all independent and
variable
4Copyright | © 2017 SunPower Corporation |
Simple Usage: Rooftop shading
Create PV
system
Set
irradiance
for entire
2nd string
Set
irradiance
on
individual
modules in
shaded
regions of
3rd , 4th, 8th
9th and
10th
modules
5Confidential | © 2014 SunPower Corporation |
Case Study: Current margin for string with a degraded cell
• Determine the current margin for a string
of modules with a single degraded cell as a
function of the length of the string and the
amount of degradation causing the cell to
reverse bias.
• Given a string of perfectly matched
modules, and a single cell degraded by Y
proportional to Isc, find the point at which
Imp = YIsc, and any increase in Y will cause
the degraded cell to go into reverse bias.
This is the point at which there are 2 max
powers. Repeat for 72, 96 and 128 cell
modules in strings with N modules, and
plot Y* = 1-Y vs. N.
def findY(Y, num_mods, num_cells, return_pvsys=False):
pvsys = pvsystem.PVsystem(
numberStrs=1, numberMods=num_mods, numberCells=num_cells,
pvconst=PVCONST)
pvsys.setSuns({0: {0: {'cells': 0, 'Ee': Y}}})
retv = (Y * pvsys.Isc - pvsys.Imp) ** 2
if return_pvsys:
retv = (retv, pvsys)
return retv
6Copyright | © 2017 SunPower Corporation |
PVMismatch harnesses benefits of Python-based research
• Easily organize complex simulations through use of classes
– Intuitive access to system, module, and cell-level models
– Subclassing to create technology-specific simulations (e.g. SPWRPVsystem)
• Effortless expansion of functionality through use with extensive Python scientific computing modules
– Pandas: organization and statistical analysis of large datasets
– Matplotlib/Seaborn: data visualization and exploration
– Shapely: geometric approach to shade pattern design
• Simple integration with Python’s multiprocessing module for painless parallelization
• Perhaps most importantly, it is incredibly easy to model non-uniform irradiance and shade effects at the cell level
– Most previous work/research in this area has only modeled the system down to the module level, assuming uniform behavior
within each module, ignoring cell-level mismatch and the impact of bypass diodes and other module-level circuit designs
– See Bennet’s talk at PVSC 44 this June!
7Copyright | © 2017 SunPower Corporation |
Advanced Usage Example: Shade design with Shapely
• We can use Shapely, an open source
Python package for manipulation
and analysis of 2-D geometric
objects, to model shade as polygons
intersecting with PV system objects.
– Bold rectangles are PV modules. Groups of
the same color are series-connected
strings. Small squares are PV cells.
– A Shapely polygon representing the shade
from a pipe is overlaid.
• Shapely finds the intersections
between the shade polygon and the
individual cells in the system, from
which calculate the irradiance on
each cell and use PVMismatch to get
the system IV and PV curves.
8Copyright | © 2017 SunPower Corporation |
Advanced Case Study: P-Series Shade Performance Model
• 219,200 unique shade scenarios, defined
programatically
• Automatic batching and autosaving of results
• ~30 hours of processing time across 24 processors on
an OpenStack Linux cluster
• Results:
– Deep exploration of domain space of system shade response,
modeled as a cell level.
– Small step-sizes allow for good characterization of highly-
nonlinear response regions
– Dataset is dense enough to allow for non-linear statistical learning
• For more information on background/methodology,
see
“A Fast Parameterized Model for Predicting PV System Performance under Partial Shade Conditions,”
2016 IEEE 43nd Photovolt. Spec. Conf. PVSC 2016, no. 1, pp. 3173–3178, 2016
Statistical learning from PVMismatch simulation data. Plot of
power loss modeled by PVMismatch versus power loss from a
non-linear model based on three variables.
9Copyright | © 2017 SunPower Corporation |
Links, Source Code, Installation
• Documentation: http://sunpower.github.io/PVMismatch/
• Source Code: https://github.com/SunPower/PVMismatch/
– This is a public Git repository hosted by GitHub. Please feel free to fork it and collaborate!
• Build status: https://travis-ci.org/SunPower/PVMismatch
– Every tagged build is tested by Travis CI and deployed automatically to PyPI and GitHub releases
• Issues: https://github.com/SunPower/PVMismatch/issues
• Wiki: https://github.com/SunPower/PVMismatch/wiki
– Roadmap discussion and user curated content such as tips and tricks.
• Installation: https://pypi.python.org/pypi/pvmismatch
– You can use pip or conda with SunPower channel.
• Bugs reports and contributions are welcome!
10Copyright | © 2017 SunPower Corporation |
Future Work
• #39 Make cell model a backend “plugin” with documented API so that any continuous IV
curve model such as CEC or PVSyst can be used. This makes PVLIB integration possible.
– https://github.com/SunPower/PVMismatch/issues/39
– EG: in pvcontstants.py add new attribute like PVcontstants.pvcell_backend = default # any
backend plugin
• #48 Make a generic “update” method to set any cell, module, string or system attribute, not
just temperature and irradiance. This makes calculations faster, and is better “DRY” code.
– https://github.com/SunPower/PVMismatch/issues/48
– delay calculation of cell IV curve so multiple cell attributes can be updated simultaneously
– EG: if pvcsys = pvsystem.PVsystem() then to change cells in module #1, string #1 …
>>> pvsys.update({0: {0: {'cells': (11, 12, 13), 'Ee': (0.7, 0.5, 0.5),
'Tc': (45, 41, 40.3) , 'Rsh': (9.9, 7, 7.6)}}})
would replace …
>>> pvsys.setSuns(({0: {0: {'cells': (11, 12, 13), 'Ee': (0.7, 0.5, 0.5)}}})
>>> pvsys.setTcell(({0: {0: {'cells': (11, 12, 13), 'Tc': (45, 41, 40.3)}}})
and also change shunt resistance – other update structures too can be used for flexibility
Thank You
Let’s change the way our world is powered.
Copyright | © 2017 SunPower Corporation
12Copyright | © 2017 SunPower Corporation |
Description: 2-diode cell analog
• Photogenerated current is directly proportional to
effective irradiance, E and short circuit current, Isc.
• Short circuit current is linearly proportional to cell
temperature.
• The saturation current of the 1st diode, Isat1, has a
cubic dependence on temperature.
• Bypass diodes are modeled as perfect conductors if
substring voltage is less than a “trigger” voltage.
• Reverse bias uses a quadratic avalanche breakdown
to control the “softness” of the breakdown.
• The full I-V curve is solved explicitly using the method
described by J.W. Bishop in Solar Cells 25 (1988) pp.
73-89
• Memory optimization allows fast calculation of large
systems where the majority of cells are identical.
13Copyright | © 2017 SunPower Corporation |
Deep Dive: Bishop’s Solar 25 1988 explicit method
1. Select a range of Vdiode values, .e.g. -5.5[V] to 0.8[V] with log spacing around breakdown
bend and max power point bends
2. Evaluate corresponding cell currents at given diode voltages
3. Evaluate corresponding cell voltages at given cell currents, Vcell = Vdiode - IcellRs .
4. Evaluate cell power from currents and voltages, P = IcellVcell, and find maximum, requires
sufficient resolution. Interpolate to find Isc and Voc.
5. Rescale currents for series objects and add voltages, rescale voltages for parallel objects
and add currents, to get system attributes.
• Explicit calculations are faster than iterating non-linear because “vectorized” operations are
optimized automatically
• Bishop’s method returns more information about the full IV curve than non-linear
interpolation or W-Lambert
14Copyright | © 2017 SunPower Corporation |
PVMismatch memory management
PVsystem
PVstring_1
PVmod_1_1
PVcell
1_1_1
PVmod_1_1 PVmod_1_M
PVcell
1_1_2
PVcell
1_1_N
…
…
PVstring_L
PVmod_L_1
PVcell
L_M_1
PVmod_L_2 PVmod_L_M
PVcell
L_M_2
PVcell
L_M_N
…
…
PVstring_2 …
<pvmismatch.PVsystem object at 0x11115f610>
<pvmismatch.PVstring object at 0x11115fb90>
<pvmismatch.PVmodule object at 0x11115ffd0>
<pvmismatch.PVcell object at 0x11115ff90>
• At instantiation of a new
system model, PVMismatch
creates three unique
objects in memory.
• All components of a type
point to the same object,
e.g. there are 𝐿 × 𝑀 × 𝑁 PV
cells in the system, but only
a single pvmismatch.PVcell
object in memory
• Copying of objects is done
“on demand”
• For instance, say I want to
set a new irradiance to cells
1_1_1 and 1_1_2. A new
pvmismatch.PVcell object will
be created that shares all
the same parameters of
the existing Pvcell …
15Copyright | © 2017 SunPower Corporation |
PVMismatch memory management
PVsystem
PVstring_1
PVmod_1_1
PVcell
1_1_1
PVmod_1_1 PVmod_1_M
PVcell
1_1_2
PVcell
1_1_N
…
…
PVstring_L
PVmod_L_1
PVcell
L_M_1
PVmod_L_2 PVmod_L_M
PVcell
L_M_2
PVcell
L_M_N
…
…
PVstring_2 …
<pvmismatch.PVsystem object at 0x11115f610>
<pvmismatch.PVstring object at 0x11115fb90>
<pvmismatch.PVmodule object at 0x11115ffd0>
<pvmismatch.PVcell object at 0x11115ff90>
• Set a the irradiance on cells
1_1_1 and 1_1_2 to 0.1 suns.
• A new PVcell object is created to
store the new state variable
• In addition a new PVmodule
object and a new PVstring
object are created because
these objects now have IV
curves that differ from the rest
of the elements in the system
• The memory complexity for a
single “large” system (20 strings,
20 modules per string, 500 cells
per module) would be >10GB if
every element was a unique
object in memory
• This method keeps the
expected memory complexity
for most simulations well under
1MB
<pvmismatch.PVstring object at 0x111136910>
<pvmismatch.PVmodule object at 0x111136690>
<pvmismatch.PVcell object at 0x111136090>

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

05 2017 05-04-clear sky models g-kimball
05 2017 05-04-clear sky models g-kimball05 2017 05-04-clear sky models g-kimball
05 2017 05-04-clear sky models g-kimball
 
12 pvpmc
12 pvpmc12 pvpmc
12 pvpmc
 
18 deceglie modeling and monitoring rtsr
18 deceglie modeling and monitoring rtsr18 deceglie modeling and monitoring rtsr
18 deceglie modeling and monitoring rtsr
 
63 matthiss comparison_of_pv_system_and_irradiation_models
63 matthiss comparison_of_pv_system_and_irradiation_models63 matthiss comparison_of_pv_system_and_irradiation_models
63 matthiss comparison_of_pv_system_and_irradiation_models
 
53 aron p_dobos_recent_and_planned_improvements_to_the_system_advisor_model_sam
53 aron p_dobos_recent_and_planned_improvements_to_the_system_advisor_model_sam53 aron p_dobos_recent_and_planned_improvements_to_the_system_advisor_model_sam
53 aron p_dobos_recent_and_planned_improvements_to_the_system_advisor_model_sam
 
Recent and Planned Improvements to the System Advisor Model
Recent and Planned Improvements to the System Advisor ModelRecent and Planned Improvements to the System Advisor Model
Recent and Planned Improvements to the System Advisor Model
 
Plantpredict: Solar Performance Modeling Made Simple
Plantpredict: Solar Performance Modeling Made SimplePlantpredict: Solar Performance Modeling Made Simple
Plantpredict: Solar Performance Modeling Made Simple
 
Design Optimization using the Latest Features in HelioScope
Design Optimization using the Latest Features in HelioScopeDesign Optimization using the Latest Features in HelioScope
Design Optimization using the Latest Features in HelioScope
 
Data analysis for effective monitoring of partially shaded residential PV system
Data analysis for effective monitoring of partially shaded residential PV systemData analysis for effective monitoring of partially shaded residential PV system
Data analysis for effective monitoring of partially shaded residential PV system
 
33 freeman modelling_energy_losses_due_to_snow_on_pv_systems
33 freeman modelling_energy_losses_due_to_snow_on_pv_systems33 freeman modelling_energy_losses_due_to_snow_on_pv_systems
33 freeman modelling_energy_losses_due_to_snow_on_pv_systems
 
66 ueda system_performance_and_degradation_analysis_of_different_pv_technologies
66 ueda system_performance_and_degradation_analysis_of_different_pv_technologies66 ueda system_performance_and_degradation_analysis_of_different_pv_technologies
66 ueda system_performance_and_degradation_analysis_of_different_pv_technologies
 
4 1 marion_bifacial_2016_workshop
4 1 marion_bifacial_2016_workshop4 1 marion_bifacial_2016_workshop
4 1 marion_bifacial_2016_workshop
 
1 4 epri sandia cuiffi 050916 43
1 4 epri sandia cuiffi 050916 431 4 epri sandia cuiffi 050916 43
1 4 epri sandia cuiffi 050916 43
 
3 4 thevenard-pai epri-sandia 2016-05 presentation
3 4 thevenard-pai epri-sandia 2016-05 presentation3 4 thevenard-pai epri-sandia 2016-05 presentation
3 4 thevenard-pai epri-sandia 2016-05 presentation
 
43 hendrik holst_modelling_of_the_expected_yearly_power_yield_on_building_fac...
43 hendrik holst_modelling_of_the_expected_yearly_power_yield_on_building_fac...43 hendrik holst_modelling_of_the_expected_yearly_power_yield_on_building_fac...
43 hendrik holst_modelling_of_the_expected_yearly_power_yield_on_building_fac...
 
2014 PV Performance Modeling Workshop: Optimizing PV Designs with HelioScope:...
2014 PV Performance Modeling Workshop: Optimizing PV Designs with HelioScope:...2014 PV Performance Modeling Workshop: Optimizing PV Designs with HelioScope:...
2014 PV Performance Modeling Workshop: Optimizing PV Designs with HelioScope:...
 
3 1 wittmer_p_vsyst_pvpmc_2016
3 1 wittmer_p_vsyst_pvpmc_20163 1 wittmer_p_vsyst_pvpmc_2016
3 1 wittmer_p_vsyst_pvpmc_2016
 
54 paul gibbs_helioscope
54 paul gibbs_helioscope54 paul gibbs_helioscope
54 paul gibbs_helioscope
 
55 reinders performance_modelling_of_pv_systems_in_a_virtual_environment
55 reinders performance_modelling_of_pv_systems_in_a_virtual_environment55 reinders performance_modelling_of_pv_systems_in_a_virtual_environment
55 reinders performance_modelling_of_pv_systems_in_a_virtual_environment
 
5 3 freeman pvpmc may 2016
5 3 freeman pvpmc may 20165 3 freeman pvpmc may 2016
5 3 freeman pvpmc may 2016
 

Similar a 09 mikoski pv-mismatch_pvpmc-8_20170509_r5

How HPC and large-scale data analytics are transforming experimental science
How HPC and large-scale data analytics are transforming experimental scienceHow HPC and large-scale data analytics are transforming experimental science
How HPC and large-scale data analytics are transforming experimental scienceinside-BigData.com
 
Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...
Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...
Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...Luigi Vanfretti
 
JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...
JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...
JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...IEEEGLOBALSOFTTECHNOLOGIES
 
Harvesting aware energy management for time-critical wireless sensor networks
Harvesting aware energy management for time-critical wireless sensor networksHarvesting aware energy management for time-critical wireless sensor networks
Harvesting aware energy management for time-critical wireless sensor networksIEEEFINALYEARPROJECTS
 
Overview of DuraMat software tool development
Overview of DuraMat software tool developmentOverview of DuraMat software tool development
Overview of DuraMat software tool developmentAnubhav Jain
 
Monitoring of Transmission and Distribution Grids using PMUs
Monitoring of Transmission and Distribution Grids using PMUsMonitoring of Transmission and Distribution Grids using PMUs
Monitoring of Transmission and Distribution Grids using PMUsLuigi Vanfretti
 
Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...
Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...
Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...Luigi Vanfretti
 
Parallel Left Ventricle Simulation Using the FEniCS Framework
Parallel Left Ventricle Simulation Using the FEniCS FrameworkParallel Left Ventricle Simulation Using the FEniCS Framework
Parallel Left Ventricle Simulation Using the FEniCS FrameworkUral-PDC
 
Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...
Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...
Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...Piero Belforte
 
DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)
DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)
DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)Piero Belforte
 
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_ReportSaptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_ReportSitakanta Mishra
 
Scientific
Scientific Scientific
Scientific marpierc
 
Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...
Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...
Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...IJPEDS-IAES
 
ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...
ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...
ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...IRJET Journal
 
Energy harvesting sensor nodes
Energy harvesting sensor nodes   Energy harvesting sensor nodes
Energy harvesting sensor nodes ahmad abdelhafeez
 
Threads and Concurrency Identifying Performance Deviations in Thread Pools
Threads and Concurrency Identifying Performance Deviations in Thread PoolsThreads and Concurrency Identifying Performance Deviations in Thread Pools
Threads and Concurrency Identifying Performance Deviations in Thread PoolsPushpalanka Jayawardhana
 
Neural Architecture Search: Learning How to Learn
Neural Architecture Search: Learning How to LearnNeural Architecture Search: Learning How to Learn
Neural Architecture Search: Learning How to LearnKwanghee Choi
 
Multi-Node Remote Vitality Charging in Sensor System
Multi-Node Remote Vitality Charging in Sensor SystemMulti-Node Remote Vitality Charging in Sensor System
Multi-Node Remote Vitality Charging in Sensor SystemIRJET Journal
 
QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network
QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network
QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network IJECEIAES
 
Architecture of Wemlin Hub
Architecture of Wemlin HubArchitecture of Wemlin Hub
Architecture of Wemlin HubGoran Cvetkoski
 

Similar a 09 mikoski pv-mismatch_pvpmc-8_20170509_r5 (20)

How HPC and large-scale data analytics are transforming experimental science
How HPC and large-scale data analytics are transforming experimental scienceHow HPC and large-scale data analytics are transforming experimental science
How HPC and large-scale data analytics are transforming experimental science
 
Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...
Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...
Wanted!: Open M&S Standards and Technologies for the Smart Grid - Introducing...
 
JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...
JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...
JAVA 2013 IEEE NETWORKING PROJECT Harvesting aware energy management for time...
 
Harvesting aware energy management for time-critical wireless sensor networks
Harvesting aware energy management for time-critical wireless sensor networksHarvesting aware energy management for time-critical wireless sensor networks
Harvesting aware energy management for time-critical wireless sensor networks
 
Overview of DuraMat software tool development
Overview of DuraMat software tool developmentOverview of DuraMat software tool development
Overview of DuraMat software tool development
 
Monitoring of Transmission and Distribution Grids using PMUs
Monitoring of Transmission and Distribution Grids using PMUsMonitoring of Transmission and Distribution Grids using PMUs
Monitoring of Transmission and Distribution Grids using PMUs
 
Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...
Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...
Model-Simulation-and-Measurement-Based Systems Engineering of Power System Sy...
 
Parallel Left Ventricle Simulation Using the FEniCS Framework
Parallel Left Ventricle Simulation Using the FEniCS FrameworkParallel Left Ventricle Simulation Using the FEniCS Framework
Parallel Left Ventricle Simulation Using the FEniCS Framework
 
Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...
Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...
Digital Wave Formulation of Quasi-Static Partial Element Equivalent Circuit M...
 
DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)
DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)
DIGITAL WAVE FORMULATION OF PEEC METHOD (SLIDES)
 
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_ReportSaptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
 
Scientific
Scientific Scientific
Scientific
 
Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...
Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...
Co-Simulation Interfacing Capabilities in Device-Level Power Electronic Circu...
 
ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...
ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...
ANFIS Control of Energy Control Center for Distributed Wind and Solar Generat...
 
Energy harvesting sensor nodes
Energy harvesting sensor nodes   Energy harvesting sensor nodes
Energy harvesting sensor nodes
 
Threads and Concurrency Identifying Performance Deviations in Thread Pools
Threads and Concurrency Identifying Performance Deviations in Thread PoolsThreads and Concurrency Identifying Performance Deviations in Thread Pools
Threads and Concurrency Identifying Performance Deviations in Thread Pools
 
Neural Architecture Search: Learning How to Learn
Neural Architecture Search: Learning How to LearnNeural Architecture Search: Learning How to Learn
Neural Architecture Search: Learning How to Learn
 
Multi-Node Remote Vitality Charging in Sensor System
Multi-Node Remote Vitality Charging in Sensor SystemMulti-Node Remote Vitality Charging in Sensor System
Multi-Node Remote Vitality Charging in Sensor System
 
QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network
QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network
QoS Framework for a Multi-stack based Heterogeneous Wireless Sensor Network
 
Architecture of Wemlin Hub
Architecture of Wemlin HubArchitecture of Wemlin Hub
Architecture of Wemlin Hub
 

Más de Sandia National Laboratories: Energy & Climate: Renewables

Más de Sandia National Laboratories: Energy & Climate: Renewables (20)

M4 sf 18sn010303061 8th us german 020918 lac reduced sand2018-1339r
M4 sf 18sn010303061 8th us german 020918 lac reduced sand2018-1339rM4 sf 18sn010303061 8th us german 020918 lac reduced sand2018-1339r
M4 sf 18sn010303061 8th us german 020918 lac reduced sand2018-1339r
 
Sand2018 0581 o metadata for presentations 011918 lac
Sand2018 0581 o metadata for presentations 011918 lacSand2018 0581 o metadata for presentations 011918 lac
Sand2018 0581 o metadata for presentations 011918 lac
 
11 Testing Shear Strength and Deformation along Discontinuities in Salt
11 Testing Shear Strength and Deformation along Discontinuities in Salt11 Testing Shear Strength and Deformation along Discontinuities in Salt
11 Testing Shear Strength and Deformation along Discontinuities in Salt
 
10 Current status of research in the Joint Project WEIMOS
10 Current status of research in the Joint Project WEIMOS10 Current status of research in the Joint Project WEIMOS
10 Current status of research in the Joint Project WEIMOS
 
26 Current research on deep borehole disposal of nuclear spent fuel and high-...
26 Current research on deep borehole disposal of nuclear spent fuel and high-...26 Current research on deep borehole disposal of nuclear spent fuel and high-...
26 Current research on deep borehole disposal of nuclear spent fuel and high-...
 
25 Basin-Scale Density-Dependent Groundwater Flow Near a Salt Repository
25 Basin-Scale Density-Dependent  Groundwater Flow Near a Salt Repository25 Basin-Scale Density-Dependent  Groundwater Flow Near a Salt Repository
25 Basin-Scale Density-Dependent Groundwater Flow Near a Salt Repository
 
24 Actinide and brine chemistry in salt repositories: Updates from ABC Salt (V)
24 Actinide and brine chemistry in salt repositories: Updates from ABC Salt (V)24 Actinide and brine chemistry in salt repositories: Updates from ABC Salt (V)
24 Actinide and brine chemistry in salt repositories: Updates from ABC Salt (V)
 
23 Sandia’s Salt Design Concept for High Level Waste and Defense Spent Nuclea...
23 Sandia’s Salt Design Concept for High Level Waste and Defense Spent Nuclea...23 Sandia’s Salt Design Concept for High Level Waste and Defense Spent Nuclea...
23 Sandia’s Salt Design Concept for High Level Waste and Defense Spent Nuclea...
 
22 WIPP Future Advancements and Operational Safety
22 WIPP Future Advancements and Operational Safety22 WIPP Future Advancements and Operational Safety
22 WIPP Future Advancements and Operational Safety
 
21 WIPP recovery and Operational Safety
21 WIPP recovery and Operational Safety21 WIPP recovery and Operational Safety
21 WIPP recovery and Operational Safety
 
20 EPA Review of DOE’s 2014 Compliance Recertification Application for WIPP
20 EPA Review of DOE’s 2014 Compliance Recertification Application for WIPP20 EPA Review of DOE’s 2014 Compliance Recertification Application for WIPP
20 EPA Review of DOE’s 2014 Compliance Recertification Application for WIPP
 
19 Repository designs in bedded salt, the KOSINA-Project
19 Repository designs in bedded salt, the KOSINA-Project19 Repository designs in bedded salt, the KOSINA-Project
19 Repository designs in bedded salt, the KOSINA-Project
 
18 Interaction between Operational Safety and Long-Term Safety (Project BASEL)
18 Interaction between Operational Safety and Long-Term Safety (Project BASEL)18 Interaction between Operational Safety and Long-Term Safety (Project BASEL)
18 Interaction between Operational Safety and Long-Term Safety (Project BASEL)
 
17 Salt Reconsolidation
17 Salt Reconsolidation17 Salt Reconsolidation
17 Salt Reconsolidation
 
16 Reconsolidation of granular salt (DAEF report)
16 Reconsolidation of granular salt (DAEF report)16 Reconsolidation of granular salt (DAEF report)
16 Reconsolidation of granular salt (DAEF report)
 
15 Outcome of the Repoperm Project
15 Outcome of the Repoperm Project15 Outcome of the Repoperm Project
15 Outcome of the Repoperm Project
 
14 Radiological Consequences Analysis for a HLW Repository in Bedded Salt in ...
14 Radiological Consequences Analysis for a HLW Repository in Bedded Salt in ...14 Radiological Consequences Analysis for a HLW Repository in Bedded Salt in ...
14 Radiological Consequences Analysis for a HLW Repository in Bedded Salt in ...
 
13 "New results of the KOSINA project - Generic geological models / Integrity...
13 "New results of the KOSINA project - Generic geological models / Integrity...13 "New results of the KOSINA project - Generic geological models / Integrity...
13 "New results of the KOSINA project - Generic geological models / Integrity...
 
12 Salt testing: Low deviatoric stress data
12 Salt testing: Low deviatoric stress data12 Salt testing: Low deviatoric stress data
12 Salt testing: Low deviatoric stress data
 
09 Invited Lecture: Salt Creep at Low Deviatoric Stress
09 Invited Lecture: Salt Creep at Low Deviatoric Stress09 Invited Lecture: Salt Creep at Low Deviatoric Stress
09 Invited Lecture: Salt Creep at Low Deviatoric Stress
 

Último

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Último (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

09 mikoski pv-mismatch_pvpmc-8_20170509_r5

  • 1. Copyright | © 2017 SunPower Corporation PVMismatch Free Open Source Software 8th PV PMC Workshop, Albuquerque, NM Bennet E. Meyers and Mark A. Mikofski | May 9th, 2017
  • 2. 2Copyright | © 2017 SunPower Corporation | Agenda • Description • Simple usage • Benefits • Advanced usage • Links to source, documentation and installation • Future work • Questions
  • 3. 3Copyright | © 2017 SunPower Corporation | Description • PVMismatch is … – A free open source software Python package – for modeling both forward and reverse bias current – voltage (I-V) curves – at system, string, module and cell level – using a 2-diode analog. • Future versions will use a backend plugin to allow other cell models like CEC, PVSyst, etc. to be used instead of the default 2-diode model. – Cell, module, string and system constraints are all independent and variable
  • 4. 4Copyright | © 2017 SunPower Corporation | Simple Usage: Rooftop shading Create PV system Set irradiance for entire 2nd string Set irradiance on individual modules in shaded regions of 3rd , 4th, 8th 9th and 10th modules
  • 5. 5Confidential | © 2014 SunPower Corporation | Case Study: Current margin for string with a degraded cell • Determine the current margin for a string of modules with a single degraded cell as a function of the length of the string and the amount of degradation causing the cell to reverse bias. • Given a string of perfectly matched modules, and a single cell degraded by Y proportional to Isc, find the point at which Imp = YIsc, and any increase in Y will cause the degraded cell to go into reverse bias. This is the point at which there are 2 max powers. Repeat for 72, 96 and 128 cell modules in strings with N modules, and plot Y* = 1-Y vs. N. def findY(Y, num_mods, num_cells, return_pvsys=False): pvsys = pvsystem.PVsystem( numberStrs=1, numberMods=num_mods, numberCells=num_cells, pvconst=PVCONST) pvsys.setSuns({0: {0: {'cells': 0, 'Ee': Y}}}) retv = (Y * pvsys.Isc - pvsys.Imp) ** 2 if return_pvsys: retv = (retv, pvsys) return retv
  • 6. 6Copyright | © 2017 SunPower Corporation | PVMismatch harnesses benefits of Python-based research • Easily organize complex simulations through use of classes – Intuitive access to system, module, and cell-level models – Subclassing to create technology-specific simulations (e.g. SPWRPVsystem) • Effortless expansion of functionality through use with extensive Python scientific computing modules – Pandas: organization and statistical analysis of large datasets – Matplotlib/Seaborn: data visualization and exploration – Shapely: geometric approach to shade pattern design • Simple integration with Python’s multiprocessing module for painless parallelization • Perhaps most importantly, it is incredibly easy to model non-uniform irradiance and shade effects at the cell level – Most previous work/research in this area has only modeled the system down to the module level, assuming uniform behavior within each module, ignoring cell-level mismatch and the impact of bypass diodes and other module-level circuit designs – See Bennet’s talk at PVSC 44 this June!
  • 7. 7Copyright | © 2017 SunPower Corporation | Advanced Usage Example: Shade design with Shapely • We can use Shapely, an open source Python package for manipulation and analysis of 2-D geometric objects, to model shade as polygons intersecting with PV system objects. – Bold rectangles are PV modules. Groups of the same color are series-connected strings. Small squares are PV cells. – A Shapely polygon representing the shade from a pipe is overlaid. • Shapely finds the intersections between the shade polygon and the individual cells in the system, from which calculate the irradiance on each cell and use PVMismatch to get the system IV and PV curves.
  • 8. 8Copyright | © 2017 SunPower Corporation | Advanced Case Study: P-Series Shade Performance Model • 219,200 unique shade scenarios, defined programatically • Automatic batching and autosaving of results • ~30 hours of processing time across 24 processors on an OpenStack Linux cluster • Results: – Deep exploration of domain space of system shade response, modeled as a cell level. – Small step-sizes allow for good characterization of highly- nonlinear response regions – Dataset is dense enough to allow for non-linear statistical learning • For more information on background/methodology, see “A Fast Parameterized Model for Predicting PV System Performance under Partial Shade Conditions,” 2016 IEEE 43nd Photovolt. Spec. Conf. PVSC 2016, no. 1, pp. 3173–3178, 2016 Statistical learning from PVMismatch simulation data. Plot of power loss modeled by PVMismatch versus power loss from a non-linear model based on three variables.
  • 9. 9Copyright | © 2017 SunPower Corporation | Links, Source Code, Installation • Documentation: http://sunpower.github.io/PVMismatch/ • Source Code: https://github.com/SunPower/PVMismatch/ – This is a public Git repository hosted by GitHub. Please feel free to fork it and collaborate! • Build status: https://travis-ci.org/SunPower/PVMismatch – Every tagged build is tested by Travis CI and deployed automatically to PyPI and GitHub releases • Issues: https://github.com/SunPower/PVMismatch/issues • Wiki: https://github.com/SunPower/PVMismatch/wiki – Roadmap discussion and user curated content such as tips and tricks. • Installation: https://pypi.python.org/pypi/pvmismatch – You can use pip or conda with SunPower channel. • Bugs reports and contributions are welcome!
  • 10. 10Copyright | © 2017 SunPower Corporation | Future Work • #39 Make cell model a backend “plugin” with documented API so that any continuous IV curve model such as CEC or PVSyst can be used. This makes PVLIB integration possible. – https://github.com/SunPower/PVMismatch/issues/39 – EG: in pvcontstants.py add new attribute like PVcontstants.pvcell_backend = default # any backend plugin • #48 Make a generic “update” method to set any cell, module, string or system attribute, not just temperature and irradiance. This makes calculations faster, and is better “DRY” code. – https://github.com/SunPower/PVMismatch/issues/48 – delay calculation of cell IV curve so multiple cell attributes can be updated simultaneously – EG: if pvcsys = pvsystem.PVsystem() then to change cells in module #1, string #1 … >>> pvsys.update({0: {0: {'cells': (11, 12, 13), 'Ee': (0.7, 0.5, 0.5), 'Tc': (45, 41, 40.3) , 'Rsh': (9.9, 7, 7.6)}}}) would replace … >>> pvsys.setSuns(({0: {0: {'cells': (11, 12, 13), 'Ee': (0.7, 0.5, 0.5)}}}) >>> pvsys.setTcell(({0: {0: {'cells': (11, 12, 13), 'Tc': (45, 41, 40.3)}}}) and also change shunt resistance – other update structures too can be used for flexibility
  • 11. Thank You Let’s change the way our world is powered. Copyright | © 2017 SunPower Corporation
  • 12. 12Copyright | © 2017 SunPower Corporation | Description: 2-diode cell analog • Photogenerated current is directly proportional to effective irradiance, E and short circuit current, Isc. • Short circuit current is linearly proportional to cell temperature. • The saturation current of the 1st diode, Isat1, has a cubic dependence on temperature. • Bypass diodes are modeled as perfect conductors if substring voltage is less than a “trigger” voltage. • Reverse bias uses a quadratic avalanche breakdown to control the “softness” of the breakdown. • The full I-V curve is solved explicitly using the method described by J.W. Bishop in Solar Cells 25 (1988) pp. 73-89 • Memory optimization allows fast calculation of large systems where the majority of cells are identical.
  • 13. 13Copyright | © 2017 SunPower Corporation | Deep Dive: Bishop’s Solar 25 1988 explicit method 1. Select a range of Vdiode values, .e.g. -5.5[V] to 0.8[V] with log spacing around breakdown bend and max power point bends 2. Evaluate corresponding cell currents at given diode voltages 3. Evaluate corresponding cell voltages at given cell currents, Vcell = Vdiode - IcellRs . 4. Evaluate cell power from currents and voltages, P = IcellVcell, and find maximum, requires sufficient resolution. Interpolate to find Isc and Voc. 5. Rescale currents for series objects and add voltages, rescale voltages for parallel objects and add currents, to get system attributes. • Explicit calculations are faster than iterating non-linear because “vectorized” operations are optimized automatically • Bishop’s method returns more information about the full IV curve than non-linear interpolation or W-Lambert
  • 14. 14Copyright | © 2017 SunPower Corporation | PVMismatch memory management PVsystem PVstring_1 PVmod_1_1 PVcell 1_1_1 PVmod_1_1 PVmod_1_M PVcell 1_1_2 PVcell 1_1_N … … PVstring_L PVmod_L_1 PVcell L_M_1 PVmod_L_2 PVmod_L_M PVcell L_M_2 PVcell L_M_N … … PVstring_2 … <pvmismatch.PVsystem object at 0x11115f610> <pvmismatch.PVstring object at 0x11115fb90> <pvmismatch.PVmodule object at 0x11115ffd0> <pvmismatch.PVcell object at 0x11115ff90> • At instantiation of a new system model, PVMismatch creates three unique objects in memory. • All components of a type point to the same object, e.g. there are 𝐿 × 𝑀 × 𝑁 PV cells in the system, but only a single pvmismatch.PVcell object in memory • Copying of objects is done “on demand” • For instance, say I want to set a new irradiance to cells 1_1_1 and 1_1_2. A new pvmismatch.PVcell object will be created that shares all the same parameters of the existing Pvcell …
  • 15. 15Copyright | © 2017 SunPower Corporation | PVMismatch memory management PVsystem PVstring_1 PVmod_1_1 PVcell 1_1_1 PVmod_1_1 PVmod_1_M PVcell 1_1_2 PVcell 1_1_N … … PVstring_L PVmod_L_1 PVcell L_M_1 PVmod_L_2 PVmod_L_M PVcell L_M_2 PVcell L_M_N … … PVstring_2 … <pvmismatch.PVsystem object at 0x11115f610> <pvmismatch.PVstring object at 0x11115fb90> <pvmismatch.PVmodule object at 0x11115ffd0> <pvmismatch.PVcell object at 0x11115ff90> • Set a the irradiance on cells 1_1_1 and 1_1_2 to 0.1 suns. • A new PVcell object is created to store the new state variable • In addition a new PVmodule object and a new PVstring object are created because these objects now have IV curves that differ from the rest of the elements in the system • The memory complexity for a single “large” system (20 strings, 20 modules per string, 500 cells per module) would be >10GB if every element was a unique object in memory • This method keeps the expected memory complexity for most simulations well under 1MB <pvmismatch.PVstring object at 0x111136910> <pvmismatch.PVmodule object at 0x111136690> <pvmismatch.PVcell object at 0x111136090>