Bug: Components which are part of a system are not updated by the integrator after the final time step
Open
@alexander-novo is already working on this.
Since May 6, 2025.
enhancement
question
- Dominant language
- C++
- Stars
- 27
- Forks
- 11
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 23
Description
Description how to reproduce the bug
If the example given in examples/PhasorDynamics/Example1/example1.cpp is modified to compare values from the individual components to the reference solution rather than the system values, the test will fail with error too large. This is because
- The integrator only updates the main
Evaluatorit has been given - in this case the system. Systemevaluators only update their child components/buses when the integrator evaluates its residual, which won't happen after the final time step.
Therefore each component is one integrator internal time step out of date from the system.
GridKit™ version
0e07a2638bf3606f6320528137269bd11922e57d
System and environment details
N/A
Additional information
It would be nice to be able to query final solution values from the individual components because this is more meaningful than querying from the system:
- If the order we store variables in the "global" system vector is changed for some reason (which I don't think we're guaranteeing against), this example will break
- Components often offer meaningful querying functions which mean we don't have to access the state vector manually
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.