Menu

#842 t0 does not advance on first iteration of new time step

Version 4.0 RC1
assigned
None
none
core
critical
3.1
defect
2016-05-15
2014-06-19
power_engr
No

Hello,

I'm modifying the inverter code, and I need to retain values from the previous time step. I do this, similar to some code I saw elsewhere, by evaluating when t0 changes, and storing values from the previous iteration when it does. I have a very simple simulation that I use for initial development that has only four buses and a single inverter and a couple of loads. My code worked well here, so then I tested the code in a simulation based on the IEEE123 system with multiple inverters. I had issues and traced it to the fact that t0 only changes at the second iteration, i.e., the second time sync in inverter is called.
I added a line within sync : gl_warning("0 %s : t0 is %d and last_time is %d",obj->name, t0, last_time);
to print out the values of t0. Please see below for results from both simulations.

To address this, when t0 changes, I store the value from two iterations ago, so it's working, but it concerns me that it's not consistent, and Bryan recommended that I let you know.

Let me know if you need additional information to evaluate this.

Output from running simple test case – 4 bus case with single inverter : just one iteration per time step & t0 changes right away

WARNING [2013-07-07 13:34:18 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:19 HST] : 0 inverter_1 : t0 is 1373240058 and last_time is 1373240057
WARNING [2013-07-07 13:34:19 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:20 HST] : 0 inverter_1 : t0 is 1373240059 and last_time is 1373240058
WARNING [2013-07-07 13:34:20 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:21 HST] : 0 inverter_1 : t0 is 1373240060 and last_time is 1373240059
WARNING [2013-07-07 13:34:21 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:22 HST] : 0 inverter_1 : t0 is 1373240061 and last_time is 1373240060
WARNING [2013-07-07 13:34:22 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:23 HST] : 0 inverter_1 : t0 is 1373240062 and last_time is 1373240061
WARNING [2013-07-07 13:34:23 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:24 HST] : 0 inverter_1 : t0 is 1373240063 and last_time is 1373240062
WARNING [2013-07-07 13:34:24 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:25 HST] : 0 inverter_1 : t0 is 1373240064 and last_time is 1373240063
WARNING [2013-07-07 13:34:25 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:26 HST] : 0 inverter_1 : t0 is 1373240065 and last_time is 1373240064
WARNING [2013-07-07 13:34:26 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:27 HST] : 0 inverter_1 : t0 is 1373240066 and last_time is 1373240065
WARNING [2013-07-07 13:34:27 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:28 HST] : 0 inverter_1 : t0 is 1373240067 and last_time is 1373240066
WARNING [2013-07-07 13:34:28 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:29 HST] : 0 inverter_1 : t0 is 1373240068 and last_time is 1373240067
WARNING [2013-07-07 13:34:29 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:30 HST] : 0 inverter_1 : t0 is 1373240069 and last_time is 1373240068
WARNING [2013-07-07 13:34:30 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:31 HST] : 0 inverter_1 : t0 is 1373240070 and last_time is 1373240069
WARNING [2013-07-07 13:34:31 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:32 HST] : 0 inverter_1 : t0 is 1373240071 and last_time is 1373240070
WARNING [2013-07-07 13:34:32 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:33 HST] : 0 inverter_1 : t0 is 1373240072 and last_time is 1373240071
WARNING [2013-07-07 13:34:33 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:34 HST] : 0 inverter_1 : t0 is 1373240073 and last_time is 1373240072
WARNING [2013-07-07 13:34:34 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:35 HST] : 0 inverter_1 : t0 is 1373240074 and last_time is 1373240073
WARNING [2013-07-07 13:34:35 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:36 HST] : 0 inverter_1 : t0 is 1373240075 and last_time is 1373240074
WARNING [2013-07-07 13:34:36 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:37 HST] : 0 inverter_1 : t0 is 1373240076 and last_time is 1373240075
WARNING [2013-07-07 13:34:37 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:38 HST] : 0 inverter_1 : t0 is 1373240077 and last_time is 1373240076
WARNING [2013-07-07 13:34:38 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:39 HST] : 0 inverter_1 : t0 is 1373240078 and last_time is 1373240077
WARNING [2013-07-07 13:34:39 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:40 HST] : 0 inverter_1 : t0 is 1373240079 and last_time is 1373240078
WARNING [2013-07-07 13:34:40 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:41 HST] : 0 inverter_1 : t0 is 1373240080 and last_time is 1373240079
WARNING [2013-07-07 13:34:41 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:42 HST] : 0 inverter_1 : t0 is 1373240081 and last_time is 1373240080
WARNING [2013-07-07 13:34:42 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:43 HST] : 0 inverter_1 : t0 is 1373240082 and last_time is 1373240081
WARNING [2013-07-07 13:34:43 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:44 HST] : 0 inverter_1 : t0 is 1373240083 and last_time is 1373240082
WARNING [2013-07-07 13:34:44 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:45 HST] : 0 inverter_1 : t0 is 1373240084 and last_time is 1373240083
WARNING [2013-07-07 13:34:45 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:46 HST] : 0 inverter_1 : t0 is 1373240085 and last_time is 1373240084
WARNING [2013-07-07 13:34:46 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:47 HST] : 0 inverter_1 : t0 is 1373240086 and last_time is 1373240085
WARNING [2013-07-07 13:34:47 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:48 HST] : 0 inverter_1 : t0 is 1373240087 and last_time is 1373240086
WARNING [2013-07-07 13:34:48 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:49 HST] : 0 inverter_1 : t0 is 1373240088 and last_time is 1373240087
WARNING [2013-07-07 13:34:49 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:50 HST] : 0 inverter_1 : t0 is 1373240089 and last_time is 1373240088
WARNING [2013-07-07 13:34:50 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:51 HST] : 0 inverter_1 : t0 is 1373240090 and last_time is 1373240089
WARNING [2013-07-07 13:34:51 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:52 HST] : 0 inverter_1 : t0 is 1373240091 and last_time is 1373240090
WARNING [2013-07-07 13:34:52 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:53 HST] : 0 inverter_1 : t0 is 1373240092 and last_time is 1373240091
WARNING [2013-07-07 13:34:53 HST] : 3 inverter_1 : decision state is -10.000000
WARNING [2013-07-07 13:34:54 HST] : 0 inverter_1 : t0 is 1373240093 and last_time is 1373240092
WARNING [2013-07-07 13:34:54 HST] : 3 inverter_1 : decision state is -10.000000

Output from running a simulation with the IEEE123 system with 4 inverters connected. Multiple iterations & t0 changes on second iteration.

WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_47 : t0 is 1337929774 and last_time is 1337929774
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_64 : t0 is 1337929774 and last_time is 1337929774
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_104 : t0 is 1337929774 and last_time is 1337929774
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:35 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_30 : t0 is 1337929775 and last_time is 1337929774
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_47 : t0 is 1337929775 and last_time is 1337929774
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_64 : t0 is 1337929775 and last_time is 1337929774
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_104 : t0 is 1337929775 and last_time is 1337929774
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:35 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_30 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_47 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_64 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_104 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:35 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_30 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_47 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_64 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:35 PDT] : 0 inverter_104 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:35 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:36 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_30 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_47 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_64 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_104 : t0 is 1337929775 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:36 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_30 : t0 is 1337929776 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_47 : t0 is 1337929776 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_64 : t0 is 1337929776 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_104 : t0 is 1337929776 and last_time is 1337929775
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:36 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_30 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_47 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_64 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:36 PDT] : 0 inverter_104 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:36 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:37 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_30 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_47 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_64 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_104 : t0 is 1337929776 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:37 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_30 : t0 is 1337929777 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_47 : t0 is 1337929777 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_64 : t0 is 1337929777 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_104 : t0 is 1337929777 and last_time is 1337929776
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:37 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_30 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_47 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_64 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_104 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:37 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_30 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_47 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_64 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:37 PDT] : 0 inverter_104 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:37 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:38 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_30 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_47 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_64 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_104 : t0 is 1337929777 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:38 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_30 : t0 is 1337929778 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_47 : t0 is 1337929778 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_64 : t0 is 1337929778 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_104 : t0 is 1337929778 and last_time is 1337929777
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:38 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_30 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_47 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_64 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:38 PDT] : 0 inverter_104 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:38 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:39 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_30 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_47 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_64 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_104 : t0 is 1337929778 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:39 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_30 : t0 is 1337929779 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_47 : t0 is 1337929779 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_64 : t0 is 1337929779 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_104 : t0 is 1337929779 and last_time is 1337929778
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:39 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_30 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_47 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_64 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_104 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:39 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_30 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_47 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_64 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:39 PDT] : 0 inverter_104 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:39 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:40 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_30 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_47 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_64 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_104 : t0 is 1337929779 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:40 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_30 : t0 is 1337929780 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_47 : t0 is 1337929780 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_64 : t0 is 1337929780 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_104 : t0 is 1337929780 and last_time is 1337929779
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:40 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_30 : t0 is 1337929780 and last_time is 1337929780
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_47 : t0 is 1337929780 and last_time is 1337929780
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_64 : t0 is 1337929780 and last_time is 1337929780
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_64 : decision state is 0.000000
WARNING [2012-05-25 00:09:40 PDT] : 0 inverter_104 : t0 is 1337929780 and last_time is 1337929780
WARNING [2012-05-25 00:09:40 PDT] : 3 inverter_104 : decision state is 0.000000
WARNING [2012-05-25 00:09:41 PDT] : Regulator reg_3 has phase B at the maximum tap value
WARNING [2012-05-25 00:09:41 PDT] : last warning message was repeated 2 times
WARNING [2012-05-25 00:09:41 PDT] : 0 inverter_30 : t0 is 1337929780 and last_time is 1337929780
WARNING [2012-05-25 00:09:41 PDT] : 3 inverter_30 : decision state is 0.000000
WARNING [2012-05-25 00:09:41 PDT] : 0 inverter_47 : t0 is 1337929780 and last_time is 1337929780
WARNING [2012-05-25 00:09:41 PDT] : 3 inverter_47 : decision state is -10.000000
WARNING [2012-05-25 00:09:41 PDT] : 0 inverter_64 : t0 is 1337929780 and last_time is 1337929780
WARNING [2012-05-25 00:09:41 PDT] : 3 inverter_64 : decision state is 0.000000

Discussion

  • power_engr

    power_engr - 2014-06-19

    Note : Encountered with version based on 3.1 ticket 811. The only changes I made were to inverter.cpp and inverter.h. Running on MacOSX.

     
  • Jason Fuller

    Jason Fuller - 2014-06-19
    • status changed from new to assigned
    • component changed from Unknown to Generators
    • priority changed from undetermined to critical
    • version changed from trunk to 3.1
    • milestone changed from Unscheduled to Version 3.1 RC1
    • owner changed from jcfuller to andyfisher
     
  • Jason Fuller

    Jason Fuller - 2014-08-08
    • Description has changed:

    Diff:

    
    
    • Milestone: Version 3.1 RC1 --> Version 3.1 Stable
    • Resolution: --> none
    • Component: Generators --> core
    • Type: undetermined --> defect
     
  • David P. Chassin

    This may be related to a problem that has been verbally reported to me but I've never verified (and the reporter did not file a ticket). Sometimes player skips the first differential entry. I note it here just so we have a record and it gets looked in the proper context. My recommendation for those who encounter that problem is to add an entry in the player that looks like +0s,<value>

     
  • Andy Fisher

    Andy Fisher - 2014-08-11

    inverter utilizes t0 and t1. t1 represents the time the inverter is updating to while t0 the previous timestep. When t0 = t1 this indicates that something by design caused a reiteration. This could be the issue you are seeing. when t0 < t1 this is the first iteration of a timestep. The 123 IEEE model contains regulators and capacitors which cause reiterations where as the 4 bus model doesn't contain any objects that would cause reiterations.

     
  • BryanP

    BryanP - 2014-08-13

    I think the key issue is how to best store a parameter value (e.g. power) from a previous timestep. I believe the current implementation is to look for changes in t0 to signal a new timestep and then to store the old value. The challenge is that t0 does not always change when starting a new timestep.

    My naive understanding is that t0 should always change even if a reiteration is required. And that the reiteration would keep the same time value. If this is not the case: why? and practically for this question, is there another way to tell that a new timestep has started.

    A potential problem with the two iterations ago work around, is that it seems plausible that in some (simple) models there may be only one iteration required per timestep such that two iterations ago would actually be two timesteps ago.

     
  • David P. Chassin

    When I wrote the first sync() function, t0 was supposed to be set the object's clock (which I think is still the convention). T0 is not updated until an appropriate sync function is called. Which function sets the object's clock is supposed to be object dependent, but I think almost all objects do it after any presync/sync/postsync pass. There may be exceptions, especially if the object hasn't yet adopted that 3.0 EXPORT_SYNC declaration.

     

    Last edit: David P. Chassin 2014-08-13
  • David P. Chassin

    FYI, I just checked and in trunk inverter only updates the object clock at bottom-up passes. It doesn't use the 3.0 EXPORT declaration. If it did I think it would update the object clock on the pre-topdown pass. You can look at the EXPORT_SYNC_C code in core/gridlabd.h. The clock update test is rather obfuscated in my opinion, but I think that's what it's support to do.

    By the way, summary upgrading to the EXPORT_SYNC_C is not advised because doing so means adopting the 3.0 object clock update convention which as you may now surmise differs subtly from 2.0's convention, which uses the clockpass variable to decide which pass updates the object clock.

     
  • Andy Fisher

    Andy Fisher - 2014-09-26

    A new timestep always begins when t0 < t1 in the generators module.There are two conditions from the perspective of the generators module in which the powerflow has reached a true solution to be stored for the next timestep.

    The first condition is if(t0 < t1 && NR_admit_change == False). When there are regulators and capacitors that require an action at the first pass(t0 < t1) then NR_admit_change gets set to true and a second pass (t0 == t1) is required. If no further action is required the NR_admit_change gets set to false and the true powerflow solution for t1 is found and the model is allowed to move forward in time.

    So You can safely store the powerflow solution to be acted upon in the next time step when (t0 < t1 && NR_admit_change == False) or (t0 == t1 && NR_admit_change == False).

     
  • David P. Chassin

    • Owner: Andy Fisher --> David P. Chassin
    • Milestone: Version 3.1 Stable --> Unscheduled
     
  • David P. Chassin

    • Milestone: Unscheduled --> Version 4.0 RC1