CURENT / andes

Python toolbox / library for power system transient dynamics simulation with symbolic modeling and numerical analysis 🔥
https://ltb.curent.org
Other
226 stars 111 forks source link

Initialization Test #169

Closed jinningwang closed 3 years ago

jinningwang commented 3 years ago

Is your feature request related to a problem? Please describe. It will be more convenient to have an initialization test when developing a new model. Users will have a quicker way to know the model quality.

Describe the solution you'd like Add a partial test like andes inittest, so users can run that command to verify their model during development. Especially if we can have an andes inittest <model_name> to test the new model initialization, it will be really convenient.

Describe alternatives you've considered For now, I can only verify the initialization when I run a TDS, which is kind of low efficiency.

Additional context I think this is a low cost and worth feature, although it is not that necessary and urgent. It should be noticed that: 1) There should be a 'base system' that can be easily assembled for the new model. IEEE 14-bus system should be a good candidate. We can tell ANDES which system can be used for the initialization test, and which part can hold the new model. 2) Some mandatory parameters without default values should be given, from users or ANDES.

cuihantao commented 3 years ago

ANDES has an initialization test right after initializing the time-domain simulation. In fact, you can enable the initialization of all dynamic models following power flow. It can be done by editing the config and setting init_tds = 1 under [PFlow].

With the setting on, you can test if initialization is ok by andes run your_case_with_new_model.xlsx. Pay attention to the Initialization for dynamics was successful or Suspect initialization issue message.

cuihantao commented 3 years ago

I thought about a feature to allow testing individual models without relying on a test system. It will instead rely on pre-defined numbers from the user. This is closer to the concept of unit test, but I haven't had the time to do it.

jinningwang commented 3 years ago

ANDES has an initialization test right after initializing the time-domain simulation. In fact, you can enable the initialization of all dynamic models following power flow. It can be done by editing the config and setting init_tds = 1 under [PFlow].

With the setting on, you can test if initialization is ok by andes run your_case_with_new_model.xlsx. Pay attention to the Initialization for dynamics was successful or Suspect initialization issue message.

Okay, I didn't notice that. I'll keep this tip in my ANDES Development: Entry to Enhancement.

jinningwang commented 3 years ago

I thought about a feature to allow testing individual models without relying on a test system. It will instead rely on pre-defined numbers from the user. This is closer to the concept of unit test, but I haven't had the time to do it.

Yes, ANDES is built with great efforts, but it is true we have really limited resources. Hope we can get more support in the future.

cuihantao commented 3 years ago

Thanks. If the solution works, I will close the issue for now.