Maybe change how to access state data for a possible performance gain? #2
Closed
MarcusBecker-GitHub
started this conversation in
General
Replies: 1 comment
-
|
Profiling showed that the performance issues do stem more from logging and the walltime of FLORIS |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Our current solution to allow different state types (axial induction vs blade pitch & tip-speed-ratio for instance) is to create a class for the state type and then have a set of common methods from that class to get values like Ct.
This happens for turbine states, ambient states and observation point states.
The states and their products are used in the solver. In the TWF solver, the solver only needs a small subset of the states. The wake model (which is also considered generic) then needs to be able to request products of these states.
Currently, the TWF solver creates a new list of turbine state objects, which is a small subset of all turbine states. This list is then passed on to the wake model, which retrieves the needed product from the state objects based on their functions.
I suspect, that the creation of the list of state objects does cost computational time, but I don't know how to circumvent it yet. Does anyone have an idea?
Maybe a pass-by-reference implementation instead of creating a new list of state objects?
This also happens for all n_t time steps and n_T turbines, so a smarter implementation should have a great impact.
Beta Was this translation helpful? Give feedback.
All reactions