I am glad to hear that you are enjoying the Photovoltaics components!
You mentioned TSol. Is this the T*SOL from Valentin software? Isn’t it specific for solar thermal energy analysis? Are you working on a PV system which will power a domestic hot water boiler?
To answer your questions:
1) Each grasshopper component (ghpython being one of those too) is using grasshopper’s data matching algorithm. This algorithm takes care of complex issues which may arise from combining lists with single items, data trees with different number of items per branch and so on.
I think there is a way of introducing a call to other processor’s threads per each inputted surface, but this will be a very difficult job, as it will require writing a custom data matching algorithm. I do not think I am up to that task.
Instead I tried to introduce the multithread only to the final part of the PVsurface component and one of its time consuming parts: calculation of sun angles, solar radiation and ac/dc power output.
I attached the test file below, but sadly it didn’t go well: the multithreaded version mostly runs at the same time as the regular version.
I do not think I am qualified enough to answer why is that so, but I think that it may have something to do with the type of the function that the multithreading is applied to: the code is suppose to run few separate functions a couple of thousand times, and work with a couple of lists. From my experience, the multithreading works the best when a single list or two are supplied to a single function. I may be wrong on this.
I am very sorry to say that I can not implement this feature.
2) I am not familiar if open source PV modules database has been released.
But one can always download the data for specific modules from producers websites. It can then easily be transferred to a .csv file or other text file.
Ladybug Photovoltaics are based on NREL’s PVWatts model.
In comparison with other commercial software applications, PVWatts offers a more generalized system model, with some of the values and characteristics being assumed or embedded.
The Fuentes empirical thermal model we are currently using follows the same logic: it generalizes the Module characteristics. The following characteristics are only editable: module efficiency, temperature coefficient and module mount type.
It may be possible to replace Fuentes with some other, less generalized 5 parameter thermal model. But as an architect, I would definitively need help on this.
Sorry if my reply did not fulfill your expectations, and thank you for the kind words!
PVsurface_multithreading_test.gh (461 KB)