ORNL / ORNL/GridKit

Bug: Components which are part of a system are not updated by the integrator after the final time step

Open
#96 0 comments 0 reactions 1 assignee View on GitHub

@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 Evaluator it has been given - in this case the system.
  • System evaluators 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.