Releases: NREL/SolarPILOT
Minor release 1.3: Multiple-receiver improvements, bug fixes
Release Notes
Release 1.3 contains significant new support for multiple-receiver configurations, including improved layout and aimpoint selection algorithms. Several bug fixes have also been included. Improvements are summarized below.
Heliostat layout and aimpoint optimization for multiple receivers
When executing a layout or performance simulation in a system with multiple receivers, SolarPILOT previously assigned heliostats to the receiver that had the largest apparent aperture area based on position and view factor. In many cases, this was inadequate and didn't provide sufficient control over allocation of heliostat field power to different receivers.
This release introduces a new optimization methodology to determine the target receiver for each heliostat such that the relative power delivered to each receiver is constant. The methodology also provides layout support in determining the heliostat field that maximizes efficiency while meeting each receiver's production requirements.
On the Receivers (template management) page:
Receiver assignment map
The Layout Results plot was extended to include a color-coded plot of receiver aiming assignments for each heliostat. The addition include on-plot rendering of heliostats in a color corresponding to a particular receiver, and on-plot colorbox labels for each receiver with text font size that scales with other text on the plot.
Receiver-specific system summary table
Previously, the system summary table provided performance results for the entire field, lumping all receivers in a multi-receiver system together into the same reported results. This enhancement adds the option to view results by receiver or by the entire system.
Receiver offset reference object
The receiver offset was previously specified relative to the tower position and tower height. In multi-receiver systems, it is convenient to be able to specify offset of a receiver relative to another receiver, or relative to the tower position and height. This functionality has been added with a dynamic drop down menu that updates with the addition or deletion of receiver templates. When switching to receiver-relative offsets, SolarPILOT checks to make sure at least one receiver is positioned with reference to the tower position and height, and it checks that references are not circular. The interface was also updated to display the receiver offset relative to global coordinates (tower position and height) to aid the user during setup.
Enhanced plot generation for parametric runs
Previously, the user could generate and save to disk a file illustrating heliostat field total optical efficiency for each evaluation in a parametric analysis. This option has been extended to allow the user to choose multiple metrics for plot generation and to add annotations to each plot based on parameter values in the parametric analysis.
User-defined flux profiles
This feature currently applies only to flat plate receivers using the image size priority aiming method. The user may now enter a 2D profile in tabular format giving desired flux intensity as a function of position on the flat plate receiver. SolarPILOT now attempts to position heliostat images to match the profile as closely as possible while still maintaining edge offset requirements to minimize spillage loss.
An example of a spiral-shaped flux profile is shown with Excel input, the flux profile, and the aimpoint map.
##Estimated annual heliostat efficiency
After layout, SolarPILOT now reports the total field annual efficiency (estimated) and the annual efficiency of each heliostat. This is estimated from the sample of layout sun positions that are simulated. SolarPILOT also provides an estimated annual production for each heliostat to give a better picture of which heliostats are actually contributing the most or least throughout the year. This information is available through scripting, data export, or the field performance plot display.
Variable dialog in script window
The process for locating the variable ID in the script language was not clear, and variables were not easily accessible from the script window. A variable reference dialog was added to the script window that gives a listing of all variables, their ID, and a brief description. By selecting variables in the checklist, they are also inserted in the script upon dialog exit.
Bug fixes
Crash when rendering particular field plots
A bug causing a hard crash when rendering particular field layouts was fixed. The issue was related to the generation of the heliostat neighbor identification mesh structure.
Incorrect cosine efficiency reported in scripting results
The cosine efficiency was incorrectly overwritten by the intercept efficiency in the scripting detailed results summary.
Field angular limits for flat-plate receivers
The min/max field angular limits previously only applied for external cylindrical receivers. This is now corrected to apply for flat-plate and multiple-receiver configurations.
Acceptance angle for flat-plate receivers not working
The angular min/max boundaries specified on the solar field page only worked for external cylindrical receivers. Flat plate and multi-receiver configurations now also support this.
Version 1.2 patch release #1
Release Notes
SSC companion tag: solarpilot_v1.2.1.
This patch release includes the following bug fixes:
Field land boundary plot angles
See #19. The land boundaries for circular extents with angular limitations were drawn incorrectly, causing the available land area to appear as the complement of the area that was actually available. Performance was not affected.
Field optical efficiency component calculation error
See #22 and #24. Heliostat field efficiency calculations produced inconsistent values for total field efficiency and individual losses such that the product of individual losses did not necessarily reproduce the total field efficiency. Error was typically small, on the order of 1-3% for individual losses. The method for calculating efficiency components used the mean of individual heliostat efficiencies. In the revised method, field-wide efficiency is calculated using a power-weighted approach, accounting for the magnitude of upstream losses. This bug affects reported field-wide efficiency values for shadowing, blocking, cosine, attenuation, and intercept.
Performance results table display update
Per the previous issue, the results table has been updated to display both mean and power-weighted efficiency values. The order of entries was modified to reflect the order in which efficiency terms are calculated.
Scripting window messages
See #21. Messages created by scripting functions in app/scripting.cpp were not appearing in the script window. This has been corrected, and a new function EditorOutput("<msg>")
was created to facilitate script method message handling.
Linux fixes and field plot interaction
Release Notes
The following bugs or enhancements are addressed in this release:
- Linux UI freezing: When running on Linux machines (Ubuntu 14.04, 16.04, Mint), SolarPILOT UI input controls stopped working after switching between pages. The control could still accept text entry or dropdown selection, but would not display the change until switching back and forth between pages or forcing redraw by maximizing the window. The fix involved redrawing the page parent (main window) after the page selection had been updated. Previously, only the selected page and/or the selection control were redrawn.
- Simulation progress gauge freezing on Linux: The performance simulation page and gauge were not switching appropriately due to event processing sequence problems. The performance simulation gauge tended to freeze after being clicked, or especially when F6 was pressed from a page other than the performance simulation page. This issue appeared only on Linux.
- High CPU usage on Linux when idle: The custom InputControl and OutputControl widgets had overloads on the OnPaint method that were causing infinite redraw loops. This resulted in max CPU when pages with those controls were displayed, and also caused issues with the scrollbars on wxScrolledWindows containing these widgets.
- Corrected performance results after removing heliostats: Field layout and cost values weren't correctly updating after heliostats are removed or added.
- Field plot interactivity: New interaction capability with field layout plot:
- Select heliostats with Right mouse
- Multi-select with CTRL+Right
- Displays stats on selected heliostat(s) on plot
- Option to remove selected from layout (disable)
- Option to restore removed heliostats
First open source release
v1.1.0 first open source release