ltbams 0.9.13__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (744) hide show
  1. {ltbams-0.9.13 → ltbams-1.0.0}/LICENSE +1 -1
  2. {ltbams-0.9.13 → ltbams-1.0.0}/PKG-INFO +89 -45
  3. ltbams-0.9.13/ltbams.egg-info/PKG-INFO → ltbams-1.0.0/README.md +53 -57
  4. {ltbams-0.9.13 → ltbams-1.0.0}/ams/__init__.py +0 -1
  5. {ltbams-0.9.13 → ltbams-1.0.0}/ams/_version.py +3 -3
  6. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/5bus/pjm5bus_demo.xlsx +0 -0
  7. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/5bus/pjm5bus_jumper.xlsx +0 -0
  8. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/5bus/pjm5bus_uced.json +1 -1
  9. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/5bus/pjm5bus_uced.xlsx +0 -0
  10. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/5bus/pjm5bus_uced_esd1.xlsx +0 -0
  11. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/5bus/pjm5bus_uced_ev.xlsx +0 -0
  12. ltbams-1.0.0/ams/cases/ieee14/ieee14_conn.xlsx +0 -0
  13. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee14/ieee14_uced.xlsx +0 -0
  14. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee39/ieee39.xlsx +0 -0
  15. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee39/ieee39_uced.xlsx +0 -0
  16. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee39/ieee39_uced_esd1.xlsx +0 -0
  17. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee39/ieee39_uced_pvd1.xlsx +0 -0
  18. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee39/ieee39_uced_vis.xlsx +0 -0
  19. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/npcc/npcc_uced.xlsx +0 -0
  20. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/wecc/wecc_uced.xlsx +0 -0
  21. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/matprocessor.py +1 -1
  22. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/model.py +43 -13
  23. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/param.py +49 -4
  24. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/service.py +9 -9
  25. {ltbams-0.9.13 → ltbams-1.0.0}/ams/interface.py +9 -7
  26. {ltbams-0.9.13 → ltbams-1.0.0}/ams/io/matpower.py +3 -3
  27. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/__init__.py +1 -1
  28. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/bus.py +2 -2
  29. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/group.py +4 -17
  30. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/timeslot.py +2 -2
  31. ltbams-0.9.13/ams/models/region.py → ltbams-1.0.0/ams/models/zone.py +7 -10
  32. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/__init__.py +1 -1
  33. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/constraint.py +6 -3
  34. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/exprcalc.py +1 -13
  35. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/expression.py +1 -13
  36. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/omodel.py +1 -1
  37. ltbams-0.9.13/ams/opt/optbase.py → ltbams-1.0.0/ams/opt/optzbase.py +37 -0
  38. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/var.py +1 -13
  39. {ltbams-0.9.13 → ltbams-1.0.0}/ams/report.py +3 -3
  40. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/acopf.py +1 -1
  41. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/dcopf.py +1 -1
  42. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/dcpf.py +3 -3
  43. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/dcpf0.py +3 -3
  44. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/ed.py +2 -0
  45. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/pflow.py +5 -5
  46. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/pflow0.py +1 -1
  47. ltbams-1.0.0/ams/routines/pflow1.py +156 -0
  48. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/routine.py +4 -4
  49. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/rted.py +7 -63
  50. {ltbams-0.9.13 → ltbams-1.0.0}/ams/system.py +42 -12
  51. ltbams-1.0.0/ams/utils/__init__.py +3 -0
  52. ltbams-0.9.13/ams/utils/__init__.py → ltbams-1.0.0/ams/utils/misc.py +21 -3
  53. ltbams-1.0.0/docs/build/doctrees/nbsphinx/_examples_demo_demo_AGC_20_1.png +0 -0
  54. ltbams-1.0.0/docs/build/doctrees/nbsphinx/_examples_demo_demo_AGC_37_1.png +0 -0
  55. ltbams-1.0.0/docs/build/doctrees/nbsphinx/_examples_demo_demo_AGC_39_1.png +0 -0
  56. ltbams-1.0.0/docs/build/html/_images/_examples_demo_demo_AGC_20_1.png +0 -0
  57. ltbams-1.0.0/docs/build/html/_images/_examples_demo_demo_AGC_37_1.png +0 -0
  58. ltbams-1.0.0/docs/build/html/_images/_examples_demo_demo_AGC_39_1.png +0 -0
  59. {ltbams-0.9.13/docs/source/getting_started/formats → ltbams-1.0.0/docs/build/html/_images}/xlsx.png +0 -0
  60. ltbams-1.0.0/docs/build/html/_static/file.png +0 -0
  61. ltbams-1.0.0/docs/build/html/_static/minus.png +0 -0
  62. ltbams-1.0.0/docs/build/html/_static/plus.png +0 -0
  63. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.alter.rst +6 -0
  64. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.class_name.rst +6 -0
  65. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.doc.rst +6 -0
  66. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.get.rst +6 -0
  67. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.get_idx.rst +6 -0
  68. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.idx2uid.rst +6 -0
  69. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.list2array.rst +6 -0
  70. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.set.rst +6 -0
  71. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.model.Model.set_backref.rst +6 -0
  72. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.class_name.rst +6 -0
  73. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.dtype.rst +6 -0
  74. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.evaluate.rst +6 -0
  75. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.get_idx.rst +6 -0
  76. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.n.rst +6 -0
  77. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.parse.rst +6 -0
  78. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.shape.rst +6 -0
  79. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.size.rst +6 -0
  80. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.update.rst +6 -0
  81. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.param.RParam.v.rst +6 -0
  82. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.assign_memory.rst +6 -0
  83. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.class_name.rst +6 -0
  84. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.evaluate.rst +6 -0
  85. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.get_names.rst +6 -0
  86. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.n.rst +6 -0
  87. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.parse.rst +6 -0
  88. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.shape.rst +6 -0
  89. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.size.rst +6 -0
  90. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.update.rst +6 -0
  91. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.LoadScale.v.rst +6 -0
  92. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.assign_memory.rst +6 -0
  93. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.class_name.rst +6 -0
  94. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.evaluate.rst +6 -0
  95. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.get_names.rst +6 -0
  96. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.n.rst +6 -0
  97. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.parse.rst +6 -0
  98. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.shape.rst +6 -0
  99. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.size.rst +6 -0
  100. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.update.rst +6 -0
  101. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.v.rst +6 -0
  102. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.v0.rst +6 -0
  103. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.MinDur.v1.rst +6 -0
  104. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.assign_memory.rst +6 -0
  105. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.class_name.rst +6 -0
  106. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.evaluate.rst +6 -0
  107. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.get_names.rst +6 -0
  108. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.n.rst +6 -0
  109. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.parse.rst +6 -0
  110. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.shape.rst +6 -0
  111. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.size.rst +6 -0
  112. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.update.rst +6 -0
  113. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.v.rst +6 -0
  114. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.v0.rst +6 -0
  115. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumExpandDim.v1.rst +6 -0
  116. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.assign_memory.rst +6 -0
  117. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.class_name.rst +6 -0
  118. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.evaluate.rst +6 -0
  119. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.get_names.rst +6 -0
  120. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.n.rst +6 -0
  121. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.parse.rst +6 -0
  122. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.shape.rst +6 -0
  123. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.size.rst +6 -0
  124. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.update.rst +6 -0
  125. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.v.rst +6 -0
  126. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.v0.rst +6 -0
  127. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumHstack.v1.rst +6 -0
  128. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.assign_memory.rst +6 -0
  129. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.class_name.rst +6 -0
  130. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.evaluate.rst +6 -0
  131. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.get_names.rst +6 -0
  132. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.n.rst +6 -0
  133. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.parse.rst +6 -0
  134. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.shape.rst +6 -0
  135. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.size.rst +6 -0
  136. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.update.rst +6 -0
  137. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.v.rst +6 -0
  138. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.v0.rst +6 -0
  139. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOp.v1.rst +6 -0
  140. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.assign_memory.rst +6 -0
  141. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.class_name.rst +6 -0
  142. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.evaluate.rst +6 -0
  143. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.get_names.rst +6 -0
  144. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.n.rst +6 -0
  145. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.parse.rst +6 -0
  146. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.shape.rst +6 -0
  147. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.size.rst +6 -0
  148. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.update.rst +6 -0
  149. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.v.rst +6 -0
  150. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.v0.rst +6 -0
  151. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.NumOpDual.v1.rst +6 -0
  152. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.assign_memory.rst +6 -0
  153. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.class_name.rst +6 -0
  154. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.evaluate.rst +6 -0
  155. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.get_names.rst +6 -0
  156. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.n.rst +6 -0
  157. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.parse.rst +6 -0
  158. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.shape.rst +6 -0
  159. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.size.rst +6 -0
  160. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.update.rst +6 -0
  161. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RBaseService.v.rst +6 -0
  162. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.assign_memory.rst +6 -0
  163. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.class_name.rst +6 -0
  164. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.evaluate.rst +6 -0
  165. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.get_names.rst +6 -0
  166. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.n.rst +6 -0
  167. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.parse.rst +6 -0
  168. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.shape.rst +6 -0
  169. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.size.rst +6 -0
  170. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.update.rst +6 -0
  171. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ROperationService.v.rst +6 -0
  172. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.assign_memory.rst +6 -0
  173. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.class_name.rst +6 -0
  174. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.evaluate.rst +6 -0
  175. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.get_names.rst +6 -0
  176. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.n.rst +6 -0
  177. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.parse.rst +6 -0
  178. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.shape.rst +6 -0
  179. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.size.rst +6 -0
  180. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.update.rst +6 -0
  181. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.v.rst +6 -0
  182. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.v0.rst +6 -0
  183. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.RampSub.v1.rst +6 -0
  184. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.assign_memory.rst +6 -0
  185. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.class_name.rst +6 -0
  186. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.evaluate.rst +6 -0
  187. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.get_names.rst +6 -0
  188. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.n.rst +6 -0
  189. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.parse.rst +6 -0
  190. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.shape.rst +6 -0
  191. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.size.rst +6 -0
  192. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.update.rst +6 -0
  193. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ValueService.v.rst +6 -0
  194. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.assign_memory.rst +6 -0
  195. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.class_name.rst +6 -0
  196. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.evaluate.rst +6 -0
  197. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.get_names.rst +6 -0
  198. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.n.rst +6 -0
  199. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.parse.rst +6 -0
  200. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.shape.rst +6 -0
  201. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.size.rst +6 -0
  202. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.update.rst +6 -0
  203. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.v.rst +6 -0
  204. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.v0.rst +6 -0
  205. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarReduction.v1.rst +6 -0
  206. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.assign_memory.rst +6 -0
  207. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.class_name.rst +6 -0
  208. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.evaluate.rst +6 -0
  209. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.get_names.rst +6 -0
  210. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.n.rst +6 -0
  211. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.parse.rst +6 -0
  212. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.shape.rst +6 -0
  213. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.size.rst +6 -0
  214. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.update.rst +6 -0
  215. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.v.rst +6 -0
  216. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.v0.rst +6 -0
  217. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.VarSelect.v1.rst +6 -0
  218. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.assign_memory.rst +6 -0
  219. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.class_name.rst +6 -0
  220. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.evaluate.rst +6 -0
  221. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.get_names.rst +6 -0
  222. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.n.rst +6 -0
  223. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.parse.rst +6 -0
  224. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.shape.rst +6 -0
  225. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.size.rst +6 -0
  226. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.update.rst +6 -0
  227. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.v.rst +6 -0
  228. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.v0.rst +6 -0
  229. ltbams-1.0.0/docs/source/_generated/_generated/ams.core.service.ZonalSum.v1.rst +6 -0
  230. ltbams-1.0.0/docs/source/_generated/_generated/ams.interface.Dynamic.is_tds.rst +6 -0
  231. ltbams-1.0.0/docs/source/_generated/_generated/ams.interface.Dynamic.link_andes.rst +6 -0
  232. ltbams-1.0.0/docs/source/_generated/_generated/ams.interface.Dynamic.receive.rst +6 -0
  233. ltbams-1.0.0/docs/source/_generated/_generated/ams.interface.Dynamic.send.rst +6 -0
  234. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.class_name.rst +6 -0
  235. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.e.rst +6 -0
  236. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.evaluate.rst +6 -0
  237. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.n.rst +6 -0
  238. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.parse.rst +6 -0
  239. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.shape.rst +6 -0
  240. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.size.rst +6 -0
  241. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.constraint.Constraint.v.rst +6 -0
  242. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.class_name.rst +6 -0
  243. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.e.rst +6 -0
  244. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.evaluate.rst +6 -0
  245. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.get_idx.rst +6 -0
  246. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.n.rst +6 -0
  247. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.parse.rst +6 -0
  248. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.shape.rst +6 -0
  249. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.size.rst +6 -0
  250. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.v.rst +6 -0
  251. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.class_name.rst +6 -0
  252. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.e.rst +6 -0
  253. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.evaluate.rst +6 -0
  254. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.get_idx.rst +6 -0
  255. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.n.rst +6 -0
  256. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.parse.rst +6 -0
  257. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.shape.rst +6 -0
  258. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.size.rst +6 -0
  259. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.expression.Expression.v.rst +6 -0
  260. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.class_name.rst +6 -0
  261. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.e.rst +6 -0
  262. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.evaluate.rst +6 -0
  263. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.n.rst +6 -0
  264. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.parse.rst +6 -0
  265. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.shape.rst +6 -0
  266. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.size.rst +6 -0
  267. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.objective.Objective.v.rst +6 -0
  268. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModel.class_name.rst +6 -0
  269. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModel.evaluate.rst +6 -0
  270. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModel.finalize.rst +6 -0
  271. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModel.init.rst +6 -0
  272. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModel.initialized.rst +6 -0
  273. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModel.parse.rst +6 -0
  274. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModel.update.rst +6 -0
  275. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModelBase.class_name.rst +6 -0
  276. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModelBase.evaluate.rst +6 -0
  277. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModelBase.finalize.rst +6 -0
  278. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModelBase.init.rst +6 -0
  279. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModelBase.initialized.rst +6 -0
  280. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModelBase.parse.rst +6 -0
  281. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.omodel.OModelBase.update.rst +6 -0
  282. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.optbase.OptzBase.class_name.rst +6 -0
  283. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.optbase.OptzBase.evaluate.rst +6 -0
  284. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.optbase.OptzBase.n.rst +6 -0
  285. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.optbase.OptzBase.parse.rst +6 -0
  286. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.optbase.OptzBase.shape.rst +6 -0
  287. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.optbase.OptzBase.size.rst +6 -0
  288. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.param.Param.class_name.rst +6 -0
  289. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.param.Param.evaluate.rst +6 -0
  290. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.param.Param.n.rst +6 -0
  291. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.param.Param.parse.rst +6 -0
  292. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.param.Param.shape.rst +6 -0
  293. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.param.Param.size.rst +6 -0
  294. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.param.Param.update.rst +6 -0
  295. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.class_name.rst +6 -0
  296. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.evaluate.rst +6 -0
  297. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.get_idx.rst +6 -0
  298. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.n.rst +6 -0
  299. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.parse.rst +6 -0
  300. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.shape.rst +6 -0
  301. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.size.rst +6 -0
  302. ltbams-1.0.0/docs/source/_generated/_generated/ams.opt.var.Var.v.rst +6 -0
  303. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addConstrs.rst +6 -0
  304. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addRParam.rst +6 -0
  305. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addService.rst +6 -0
  306. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addVars.rst +6 -0
  307. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.class_name.rst +6 -0
  308. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.dc2ac.rst +6 -0
  309. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.disable.rst +6 -0
  310. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.doc.rst +6 -0
  311. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.enable.rst +6 -0
  312. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.export_csv.rst +6 -0
  313. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.get.rst +6 -0
  314. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.init.rst +6 -0
  315. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.run.rst +6 -0
  316. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.set.rst +6 -0
  317. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.solve.rst +6 -0
  318. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.summary.rst +6 -0
  319. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.unpack.rst +6 -0
  320. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.update.rst +6 -0
  321. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.addConstrs.rst +6 -0
  322. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.addRParam.rst +6 -0
  323. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.addService.rst +6 -0
  324. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.addVars.rst +6 -0
  325. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.class_name.rst +6 -0
  326. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.dc2ac.rst +6 -0
  327. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.disable.rst +6 -0
  328. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.doc.rst +6 -0
  329. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.enable.rst +6 -0
  330. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.export_csv.rst +6 -0
  331. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.get.rst +6 -0
  332. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.init.rst +6 -0
  333. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.run.rst +6 -0
  334. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.set.rst +6 -0
  335. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.solve.rst +6 -0
  336. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.summary.rst +6 -0
  337. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.unpack.rst +6 -0
  338. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.pflow.PFlow.update.rst +6 -0
  339. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addConstrs.rst +6 -0
  340. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addRParam.rst +6 -0
  341. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addService.rst +6 -0
  342. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addVars.rst +6 -0
  343. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.class_name.rst +6 -0
  344. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.dc2ac.rst +6 -0
  345. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.disable.rst +6 -0
  346. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.doc.rst +6 -0
  347. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.enable.rst +6 -0
  348. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.export_csv.rst +6 -0
  349. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.get.rst +6 -0
  350. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.init.rst +6 -0
  351. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.run.rst +6 -0
  352. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.set.rst +6 -0
  353. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.solve.rst +6 -0
  354. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.summary.rst +6 -0
  355. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.unpack.rst +6 -0
  356. ltbams-1.0.0/docs/source/_generated/_generated/ams.routines.routine.RoutineBase.update.rst +6 -0
  357. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.add.rst +6 -0
  358. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.as_dict.rst +6 -0
  359. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.calc_pu_coeff.rst +6 -0
  360. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.call_models.rst +6 -0
  361. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.collect_config.rst +6 -0
  362. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.collect_ref.rst +6 -0
  363. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.connectivity.rst +6 -0
  364. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.e_clear.rst +6 -0
  365. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.f_update.rst +6 -0
  366. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.fg_to_dae.rst +6 -0
  367. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.find_devices.rst +6 -0
  368. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.find_models.rst +6 -0
  369. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.from_ipysheet.rst +6 -0
  370. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.g_islands.rst +6 -0
  371. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.g_update.rst +6 -0
  372. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.get_z.rst +6 -0
  373. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.import_groups.rst +6 -0
  374. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.import_models.rst +6 -0
  375. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.import_routines.rst +6 -0
  376. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.import_types.rst +6 -0
  377. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.init.rst +6 -0
  378. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.j_islands.rst +6 -0
  379. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.j_update.rst +6 -0
  380. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.l_update_eq.rst +6 -0
  381. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.l_update_var.rst +6 -0
  382. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.link_ext_param.rst +6 -0
  383. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.precompile.rst +6 -0
  384. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.prepare.rst +6 -0
  385. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.reload.rst +6 -0
  386. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.remove_pycapsule.rst +6 -0
  387. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.report.rst +6 -0
  388. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.reset.rst +6 -0
  389. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.s_update_post.rst +6 -0
  390. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.s_update_var.rst +6 -0
  391. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.save_config.rst +6 -0
  392. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.set_address.rst +6 -0
  393. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.set_config.rst +6 -0
  394. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.set_dae_names.rst +6 -0
  395. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.set_output_subidx.rst +6 -0
  396. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.set_var_arrays.rst +6 -0
  397. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.setup.rst +6 -0
  398. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.store_adder_setter.rst +6 -0
  399. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.store_existing.rst +6 -0
  400. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.store_no_check_init.rst +6 -0
  401. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.store_sparse_pattern.rst +6 -0
  402. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.store_switch_times.rst +6 -0
  403. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.summary.rst +6 -0
  404. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.supported_models.rst +6 -0
  405. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.supported_routines.rst +6 -0
  406. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.switch_action.rst +6 -0
  407. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.to_andes.rst +6 -0
  408. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.to_ipysheet.rst +6 -0
  409. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.undill.rst +6 -0
  410. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.vars_to_dae.rst +6 -0
  411. ltbams-1.0.0/docs/source/_generated/_generated/ams.system.System.vars_to_models.rst +6 -0
  412. ltbams-1.0.0/docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_filename_prefix_last.rst +6 -0
  413. ltbams-1.0.0/docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_filename_prefix_middle.rst +6 -0
  414. ltbams-1.0.0/docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_parent_prefix_last.rst +6 -0
  415. ltbams-1.0.0/docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_parent_prefix_middle.rst +6 -0
  416. ltbams-1.0.0/docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.displayable.rst +6 -0
  417. ltbams-1.0.0/docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.displayname.rst +6 -0
  418. ltbams-1.0.0/docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.make_tree.rst +6 -0
  419. ltbams-1.0.0/docs/source/_generated/ams.cli.create_parser.rst +6 -0
  420. ltbams-1.0.0/docs/source/_generated/ams.cli.main.rst +6 -0
  421. ltbams-1.0.0/docs/source/_generated/ams.cli.preamble.rst +6 -0
  422. ltbams-1.0.0/docs/source/_generated/ams.cli.rst +32 -0
  423. ltbams-1.0.0/docs/source/_generated/ams.core.model.Model.rst +56 -0
  424. ltbams-1.0.0/docs/source/_generated/ams.core.model.rst +30 -0
  425. ltbams-1.0.0/docs/source/_generated/ams.core.param.RParam.rst +49 -0
  426. ltbams-1.0.0/docs/source/_generated/ams.core.param.rst +30 -0
  427. ltbams-1.0.0/docs/source/_generated/ams.core.service.LoadScale.rst +51 -0
  428. ltbams-1.0.0/docs/source/_generated/ams.core.service.MinDur.rst +53 -0
  429. ltbams-1.0.0/docs/source/_generated/ams.core.service.NumExpandDim.rst +53 -0
  430. ltbams-1.0.0/docs/source/_generated/ams.core.service.NumHstack.rst +53 -0
  431. ltbams-1.0.0/docs/source/_generated/ams.core.service.NumOp.rst +53 -0
  432. ltbams-1.0.0/docs/source/_generated/ams.core.service.NumOpDual.rst +53 -0
  433. ltbams-1.0.0/docs/source/_generated/ams.core.service.RBaseService.rst +51 -0
  434. ltbams-1.0.0/docs/source/_generated/ams.core.service.ROperationService.rst +51 -0
  435. ltbams-1.0.0/docs/source/_generated/ams.core.service.RampSub.rst +53 -0
  436. ltbams-1.0.0/docs/source/_generated/ams.core.service.ValueService.rst +51 -0
  437. ltbams-1.0.0/docs/source/_generated/ams.core.service.VarReduction.rst +53 -0
  438. ltbams-1.0.0/docs/source/_generated/ams.core.service.VarSelect.rst +53 -0
  439. ltbams-1.0.0/docs/source/_generated/ams.core.service.ZonalSum.rst +53 -0
  440. ltbams-1.0.0/docs/source/_generated/ams.core.service.rst +42 -0
  441. ltbams-1.0.0/docs/source/_generated/ams.interface.Dynamic.rst +41 -0
  442. ltbams-1.0.0/docs/source/_generated/ams.interface.build_group_table.rst +6 -0
  443. ltbams-1.0.0/docs/source/_generated/ams.interface.make_link_table.rst +6 -0
  444. ltbams-1.0.0/docs/source/_generated/ams.interface.parse_addfile.rst +6 -0
  445. ltbams-1.0.0/docs/source/_generated/ams.interface.replace_dev.rst +6 -0
  446. ltbams-1.0.0/docs/source/_generated/ams.interface.rst +43 -0
  447. ltbams-1.0.0/docs/source/_generated/ams.interface.sync_adsys.rst +6 -0
  448. ltbams-1.0.0/docs/source/_generated/ams.interface.to_andes.rst +6 -0
  449. ltbams-1.0.0/docs/source/_generated/ams.interface.verify_pf.rst +6 -0
  450. ltbams-1.0.0/docs/source/_generated/ams.io.guess.rst +6 -0
  451. ltbams-1.0.0/docs/source/_generated/ams.io.json.rst +30 -0
  452. ltbams-1.0.0/docs/source/_generated/ams.io.json.write.rst +6 -0
  453. ltbams-1.0.0/docs/source/_generated/ams.io.matpower.mpc2system.rst +6 -0
  454. ltbams-1.0.0/docs/source/_generated/ams.io.matpower.read.rst +6 -0
  455. ltbams-1.0.0/docs/source/_generated/ams.io.matpower.rst +33 -0
  456. ltbams-1.0.0/docs/source/_generated/ams.io.matpower.system2mpc.rst +6 -0
  457. ltbams-1.0.0/docs/source/_generated/ams.io.matpower.testlines.rst +6 -0
  458. ltbams-1.0.0/docs/source/_generated/ams.io.parse.rst +6 -0
  459. ltbams-1.0.0/docs/source/_generated/ams.io.psse.rst +23 -0
  460. ltbams-1.0.0/docs/source/_generated/ams.io.pypower.ppc2system.rst +6 -0
  461. ltbams-1.0.0/docs/source/_generated/ams.io.pypower.py2ppc.rst +6 -0
  462. ltbams-1.0.0/docs/source/_generated/ams.io.pypower.read.rst +6 -0
  463. ltbams-1.0.0/docs/source/_generated/ams.io.pypower.rst +34 -0
  464. ltbams-1.0.0/docs/source/_generated/ams.io.pypower.system2ppc.rst +6 -0
  465. ltbams-1.0.0/docs/source/_generated/ams.io.pypower.testlines.rst +6 -0
  466. ltbams-1.0.0/docs/source/_generated/ams.io.rst +45 -0
  467. ltbams-1.0.0/docs/source/_generated/ams.io.xlsx.rst +30 -0
  468. ltbams-1.0.0/docs/source/_generated/ams.io.xlsx.write.rst +6 -0
  469. ltbams-1.0.0/docs/source/_generated/ams.main.config_logger.rst +6 -0
  470. ltbams-1.0.0/docs/source/_generated/ams.main.demo.rst +6 -0
  471. ltbams-1.0.0/docs/source/_generated/ams.main.doc.rst +6 -0
  472. ltbams-1.0.0/docs/source/_generated/ams.main.edit_conf.rst +6 -0
  473. ltbams-1.0.0/docs/source/_generated/ams.main.find_log_path.rst +6 -0
  474. ltbams-1.0.0/docs/source/_generated/ams.main.load.rst +6 -0
  475. ltbams-1.0.0/docs/source/_generated/ams.main.misc.rst +6 -0
  476. ltbams-1.0.0/docs/source/_generated/ams.main.print_license.rst +6 -0
  477. ltbams-1.0.0/docs/source/_generated/ams.main.remove_output.rst +6 -0
  478. ltbams-1.0.0/docs/source/_generated/ams.main.rst +44 -0
  479. ltbams-1.0.0/docs/source/_generated/ams.main.run.rst +6 -0
  480. ltbams-1.0.0/docs/source/_generated/ams.main.run_case.rst +6 -0
  481. ltbams-1.0.0/docs/source/_generated/ams.main.save_conf.rst +6 -0
  482. ltbams-1.0.0/docs/source/_generated/ams.main.selftest.rst +6 -0
  483. ltbams-1.0.0/docs/source/_generated/ams.main.set_logger_level.rst +6 -0
  484. ltbams-1.0.0/docs/source/_generated/ams.main.versioninfo.rst +6 -0
  485. ltbams-1.0.0/docs/source/_generated/ams.opt.constraint.Constraint.rst +43 -0
  486. ltbams-1.0.0/docs/source/_generated/ams.opt.constraint.rst +30 -0
  487. ltbams-1.0.0/docs/source/_generated/ams.opt.exprcalc.ExpressionCalc.rst +46 -0
  488. ltbams-1.0.0/docs/source/_generated/ams.opt.exprcalc.rst +30 -0
  489. ltbams-1.0.0/docs/source/_generated/ams.opt.expression.Expression.rst +46 -0
  490. ltbams-1.0.0/docs/source/_generated/ams.opt.expression.rst +30 -0
  491. ltbams-1.0.0/docs/source/_generated/ams.opt.objective.Objective.rst +43 -0
  492. ltbams-1.0.0/docs/source/_generated/ams.opt.objective.rst +30 -0
  493. ltbams-1.0.0/docs/source/_generated/ams.opt.omodel.OModel.rst +48 -0
  494. ltbams-1.0.0/docs/source/_generated/ams.opt.omodel.OModelBase.rst +48 -0
  495. ltbams-1.0.0/docs/source/_generated/ams.opt.omodel.rst +31 -0
  496. ltbams-1.0.0/docs/source/_generated/ams.opt.optbase.OptzBase.rst +41 -0
  497. ltbams-1.0.0/docs/source/_generated/ams.opt.optbase.ensure_mats_and_parsed.rst +6 -0
  498. ltbams-1.0.0/docs/source/_generated/ams.opt.optbase.ensure_symbols.rst +6 -0
  499. ltbams-1.0.0/docs/source/_generated/ams.opt.optbase.rst +38 -0
  500. ltbams-1.0.0/docs/source/_generated/ams.opt.param.Param.rst +44 -0
  501. ltbams-1.0.0/docs/source/_generated/ams.opt.param.rst +30 -0
  502. ltbams-1.0.0/docs/source/_generated/ams.opt.rst +40 -0
  503. ltbams-1.0.0/docs/source/_generated/ams.opt.var.Var.rst +45 -0
  504. ltbams-1.0.0/docs/source/_generated/ams.opt.var.rst +30 -0
  505. ltbams-1.0.0/docs/source/_generated/ams.routines.dcopf.DCOPF.rst +83 -0
  506. ltbams-1.0.0/docs/source/_generated/ams.routines.dcopf.rst +30 -0
  507. ltbams-1.0.0/docs/source/_generated/ams.routines.pflow.PFlow.rst +83 -0
  508. ltbams-1.0.0/docs/source/_generated/ams.routines.pflow.rst +30 -0
  509. ltbams-1.0.0/docs/source/_generated/ams.routines.routine.RoutineBase.rst +83 -0
  510. ltbams-1.0.0/docs/source/_generated/ams.routines.routine.collect_data.rst +6 -0
  511. ltbams-1.0.0/docs/source/_generated/ams.routines.routine.initialize_data_dict.rst +6 -0
  512. ltbams-1.0.0/docs/source/_generated/ams.routines.routine.rst +38 -0
  513. ltbams-1.0.0/docs/source/_generated/ams.system.System.rst +189 -0
  514. ltbams-1.0.0/docs/source/_generated/ams.system.disable_method.rst +6 -0
  515. ltbams-1.0.0/docs/source/_generated/ams.system.disable_methods.rst +6 -0
  516. ltbams-1.0.0/docs/source/_generated/ams.system.example.rst +6 -0
  517. ltbams-1.0.0/docs/source/_generated/ams.system.rst +39 -0
  518. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.DisplayablePath.rst +42 -0
  519. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.ams_root.rst +6 -0
  520. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.cases_root.rst +6 -0
  521. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.confirm_overwrite.rst +6 -0
  522. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.get_case.rst +6 -0
  523. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.get_config_path.rst +6 -0
  524. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.get_dot_andes_path.rst +6 -0
  525. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.get_log_dir.rst +6 -0
  526. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.get_pkl_path.rst +6 -0
  527. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.get_pycode_path.rst +6 -0
  528. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.list_cases.rst +6 -0
  529. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.rst +47 -0
  530. ltbams-1.0.0/docs/source/_generated/ams.utils.paths.tests_root.rst +6 -0
  531. ltbams-1.0.0/docs/source/getting_started/formats/xlsx.png +0 -0
  532. ltbams-1.0.0/docs/source/groupdoc/ACLine.rst +92 -0
  533. ltbams-1.0.0/docs/source/groupdoc/ACShort.rst +51 -0
  534. ltbams-1.0.0/docs/source/groupdoc/ACTopology.rst +66 -0
  535. ltbams-1.0.0/docs/source/groupdoc/Collection.rst +84 -0
  536. ltbams-1.0.0/docs/source/groupdoc/Cost.rst +135 -0
  537. ltbams-1.0.0/docs/source/groupdoc/DG.rst +204 -0
  538. ltbams-1.0.0/docs/source/groupdoc/Horizon.rst +97 -0
  539. ltbams-1.0.0/docs/source/groupdoc/Information.rst +36 -0
  540. ltbams-1.0.0/docs/source/groupdoc/RenGen.rst +63 -0
  541. ltbams-1.0.0/docs/source/groupdoc/Reserve.rst +135 -0
  542. ltbams-1.0.0/docs/source/groupdoc/StaticGen.rst +229 -0
  543. ltbams-1.0.0/docs/source/groupdoc/StaticLoad.rst +53 -0
  544. ltbams-1.0.0/docs/source/groupdoc/StaticShunt.rst +45 -0
  545. ltbams-1.0.0/docs/source/groupdoc/Undefined.rst +63 -0
  546. ltbams-1.0.0/docs/source/groupdoc/VSG.rst +125 -0
  547. ltbams-1.0.0/docs/source/images/dcopf_time.png +0 -0
  548. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/index.rst +4 -5
  549. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.class_name.rst +6 -0
  550. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.e.rst +6 -0
  551. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.evaluate.rst +6 -0
  552. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.n.rst +6 -0
  553. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.parse.rst +6 -0
  554. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.shape.rst +6 -0
  555. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.size.rst +6 -0
  556. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Constraint.v.rst +6 -0
  557. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.OModel.class_name.rst +6 -0
  558. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.OModel.evaluate.rst +6 -0
  559. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.OModel.finalize.rst +6 -0
  560. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.OModel.init.rst +6 -0
  561. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.OModel.initialized.rst +6 -0
  562. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.OModel.parse.rst +6 -0
  563. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.OModel.update.rst +6 -0
  564. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.class_name.rst +6 -0
  565. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.e.rst +6 -0
  566. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.evaluate.rst +6 -0
  567. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.n.rst +6 -0
  568. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.parse.rst +6 -0
  569. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.shape.rst +6 -0
  570. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.size.rst +6 -0
  571. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Objective.v.rst +6 -0
  572. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.class_name.rst +6 -0
  573. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.evaluate.rst +6 -0
  574. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.get_idx.rst +6 -0
  575. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.n.rst +6 -0
  576. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.parse.rst +6 -0
  577. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.shape.rst +6 -0
  578. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.size.rst +6 -0
  579. ltbams-1.0.0/docs/source/modeling/_generated/_generated/ams.opt.Var.v.rst +6 -0
  580. ltbams-1.0.0/docs/source/modeling/_generated/ams.opt.Constraint.rst +43 -0
  581. ltbams-1.0.0/docs/source/modeling/_generated/ams.opt.OModel.rst +48 -0
  582. ltbams-1.0.0/docs/source/modeling/_generated/ams.opt.Objective.rst +43 -0
  583. ltbams-1.0.0/docs/source/modeling/_generated/ams.opt.Var.rst +45 -0
  584. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/modeling/routine.rst +1 -1
  585. ltbams-1.0.0/docs/source/modelref.rst +66 -0
  586. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/release-notes.rst +13 -0
  587. ltbams-1.0.0/docs/source/routineref.rst +38 -0
  588. ltbams-1.0.0/docs/source/typedoc/ACED.rst +91 -0
  589. ltbams-1.0.0/docs/source/typedoc/DCED.rst +1869 -0
  590. ltbams-1.0.0/docs/source/typedoc/DCUC.rst +899 -0
  591. ltbams-1.0.0/docs/source/typedoc/DED.rst +390 -0
  592. ltbams-1.0.0/docs/source/typedoc/PF.rst +376 -0
  593. ltbams-1.0.0/docs/source/typedoc/UndefinedType.rst +8 -0
  594. ltbams-1.0.0/icebar/ips/ips.py +668 -0
  595. ltbams-0.9.13/README.md → ltbams-1.0.0/ltbams.egg-info/PKG-INFO +102 -22
  596. ltbams-1.0.0/ltbams.egg-info/SOURCES.txt +736 -0
  597. {ltbams-0.9.13 → ltbams-1.0.0}/ltbams.egg-info/entry_points.txt +0 -1
  598. ltbams-1.0.0/ltbams.egg-info/requires.txt +32 -0
  599. ltbams-1.0.0/ltbams.egg-info/top_level.txt +5 -0
  600. {ltbams-0.9.13 → ltbams-1.0.0}/pyproject.toml +6 -3
  601. {ltbams-0.9.13 → ltbams-1.0.0}/requirements-extra.txt +1 -1
  602. {ltbams-0.9.13 → ltbams-1.0.0}/requirements.txt +2 -2
  603. {ltbams-0.9.13 → ltbams-1.0.0}/setup.py +1 -1
  604. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_case.py +1 -1
  605. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_group.py +8 -1
  606. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_interface.py +2 -2
  607. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_matp.py +1 -1
  608. ltbams-1.0.0/tests/test_model.py +54 -0
  609. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_rtn_dcopf.py +2 -2
  610. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_rtn_ed.py +3 -3
  611. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_rtn_rted.py +4 -4
  612. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_service.py +2 -2
  613. ltbams-0.9.13/ams/benchmarks.py +0 -302
  614. ltbams-0.9.13/docs/source/images/dcopf_time.png +0 -0
  615. ltbams-0.9.13/ltbams.egg-info/SOURCES.txt +0 -198
  616. ltbams-0.9.13/ltbams.egg-info/requires.txt +0 -94
  617. ltbams-0.9.13/ltbams.egg-info/top_level.txt +0 -2
  618. ltbams-0.9.13/tests/test_benchmarks.py +0 -149
  619. ltbams-0.9.13/tests/test_model.py +0 -45
  620. {ltbams-0.9.13 → ltbams-1.0.0}/CONTRIBUTING.rst +0 -0
  621. {ltbams-0.9.13 → ltbams-1.0.0}/MANIFEST.in +0 -0
  622. {ltbams-0.9.13 → ltbams-1.0.0}/ams/__main__.py +0 -0
  623. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee123/ieee123.xlsx +0 -0
  624. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee123/ieee123_regcv1.xlsx +0 -0
  625. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee14/ieee14.json +0 -0
  626. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/ieee14/ieee14.raw +0 -0
  627. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/matpower/benchmark.json +0 -0
  628. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/matpower/case118.m +0 -0
  629. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/matpower/case14.m +0 -0
  630. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/matpower/case300.m +0 -0
  631. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/matpower/case39.m +0 -0
  632. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/matpower/case5.m +0 -0
  633. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/matpower/case_ACTIVSg2000.m +0 -0
  634. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/npcc/npcc.m +0 -0
  635. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/pglib/pglib_opf_case39_epri__api.m +0 -0
  636. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cases/wecc/wecc.m +0 -0
  637. {ltbams-0.9.13 → ltbams-1.0.0}/ams/cli.py +0 -0
  638. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/__init__.py +0 -0
  639. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/documenter.py +0 -0
  640. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/symprocessor.py +0 -0
  641. {ltbams-0.9.13 → ltbams-1.0.0}/ams/core/var.py +0 -0
  642. {ltbams-0.9.13 → ltbams-1.0.0}/ams/extension/__init__.py +0 -0
  643. {ltbams-0.9.13 → ltbams-1.0.0}/ams/extension/eva.py +0 -0
  644. {ltbams-0.9.13 → ltbams-1.0.0}/ams/io/__init__.py +0 -0
  645. {ltbams-0.9.13 → ltbams-1.0.0}/ams/io/json.py +0 -0
  646. {ltbams-0.9.13 → ltbams-1.0.0}/ams/io/psse.py +0 -0
  647. {ltbams-0.9.13 → ltbams-1.0.0}/ams/io/pypower.py +0 -0
  648. {ltbams-0.9.13 → ltbams-1.0.0}/ams/io/xlsx.py +0 -0
  649. {ltbams-0.9.13 → ltbams-1.0.0}/ams/main.py +0 -0
  650. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/area.py +0 -0
  651. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/cost.py +0 -0
  652. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/distributed/__init__.py +0 -0
  653. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/distributed/esd1.py +0 -0
  654. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/distributed/ev.py +0 -0
  655. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/distributed/pvd1.py +0 -0
  656. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/info.py +0 -0
  657. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/line.py +0 -0
  658. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/renewable/__init__.py +0 -0
  659. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/renewable/regc.py +0 -0
  660. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/reserve.py +0 -0
  661. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/shunt.py +0 -0
  662. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/static/__init__.py +0 -0
  663. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/static/gen.py +0 -0
  664. {ltbams-0.9.13 → ltbams-1.0.0}/ams/models/static/pq.py +0 -0
  665. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/objective.py +0 -0
  666. {ltbams-0.9.13 → ltbams-1.0.0}/ams/opt/param.py +0 -0
  667. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/__init__.py +0 -0
  668. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/_compat.py +0 -0
  669. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/core/__init__.py +0 -0
  670. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/core/pips.py +0 -0
  671. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/core/ppoption.py +0 -0
  672. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/core/ppver.py +0 -0
  673. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/core/solver.py +0 -0
  674. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/eps.py +0 -0
  675. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/idx.py +0 -0
  676. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/io.py +0 -0
  677. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/make/__init__.py +0 -0
  678. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/make/matrices.py +0 -0
  679. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/make/pdv.py +0 -0
  680. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/routines/__init__.py +0 -0
  681. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/routines/cpf.py +0 -0
  682. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/routines/cpf_callbacks.py +0 -0
  683. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/routines/opf.py +0 -0
  684. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/routines/opffcns.py +0 -0
  685. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/routines/pflow.py +0 -0
  686. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/toggle.py +0 -0
  687. {ltbams-0.9.13 → ltbams-1.0.0}/ams/pypower/utils.py +0 -0
  688. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/__init__.py +0 -0
  689. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/cpf.py +0 -0
  690. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/dopf.py +0 -0
  691. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/type.py +0 -0
  692. {ltbams-0.9.13 → ltbams-1.0.0}/ams/routines/uc.py +0 -0
  693. {ltbams-0.9.13 → ltbams-1.0.0}/ams/shared.py +0 -0
  694. {ltbams-0.9.13 → ltbams-1.0.0}/ams/utils/paths.py +0 -0
  695. {ltbams-0.9.13 → ltbams-1.0.0}/docs/Makefile +0 -0
  696. {ltbams-0.9.13 → ltbams-1.0.0}/docs/make.bat +0 -0
  697. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/_templates/autosummary/base.rst +0 -0
  698. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/_templates/autosummary/class.rst +0 -0
  699. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/_templates/autosummary/module.rst +0 -0
  700. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/_templates/autosummary/module_toctree.rst +0 -0
  701. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/api.rst +0 -0
  702. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/conf.py +0 -0
  703. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/examples/index.rst +0 -0
  704. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/genmodelref.py +0 -0
  705. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/genroutineref.py +0 -0
  706. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/copyright.rst +0 -0
  707. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/formats/index.rst +0 -0
  708. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/formats/matpower.rst +0 -0
  709. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/formats/psse.rst +0 -0
  710. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/formats/pypower.rst +0 -0
  711. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/formats/xlsx.rst +0 -0
  712. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/index.rst +0 -0
  713. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/install.rst +0 -0
  714. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/overview.rst +0 -0
  715. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/testcase.rst +0 -0
  716. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/getting_started/verification.rst +0 -0
  717. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/images/sponsors/CURENT_Logo_NameOnTrans.png +0 -0
  718. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/images/sponsors/CURENT_Logo_Transparent.png +0 -0
  719. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/images/sponsors/CURENT_Logo_Transparent_Name.png +0 -0
  720. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/images/sponsors/doe.png +0 -0
  721. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/modeling/example.rst +0 -0
  722. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/modeling/index.rst +0 -0
  723. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/modeling/model.rst +0 -0
  724. {ltbams-0.9.13 → ltbams-1.0.0}/docs/source/modeling/system.rst +0 -0
  725. {ltbams-0.9.13 → ltbams-1.0.0}/ltbams.egg-info/dependency_links.txt +0 -0
  726. {ltbams-0.9.13 → ltbams-1.0.0}/setup.cfg +0 -0
  727. {ltbams-0.9.13 → ltbams-1.0.0}/tests/__init__.py +0 -0
  728. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_1st_system.py +0 -0
  729. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_addressing.py +0 -0
  730. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_andes_mats.py +0 -0
  731. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_cli.py +0 -0
  732. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_export_csv.py +0 -0
  733. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_io.py +0 -0
  734. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_jumper.py +0 -0
  735. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_known_good.py +0 -0
  736. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_omodel.py +0 -0
  737. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_paths.py +0 -0
  738. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_report.py +0 -0
  739. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_repr.py +0 -0
  740. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_routine.py +0 -0
  741. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_rtn_dcpf.py +0 -0
  742. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_rtn_pflow.py +0 -0
  743. {ltbams-0.9.13 → ltbams-1.0.0}/tests/test_rtn_uc.py +0 -0
  744. {ltbams-0.9.13 → ltbams-1.0.0}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  AMS: Python Software for Scheduling Modeling and Co-Simulation with Dynanic
2
2
 
3
- Copyright (c) 2023-2024 Jinning Wang
3
+ Copyright (c) 2023-2025 Jinning Wang
4
4
 
5
5
  This program is free software; you can redistribute it and/or modify
6
6
  it under the terms of the GNU General Public License as published by
@@ -1,37 +1,50 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: ltbams
3
- Version: 0.9.13
4
- Summary: Python software for scheduling modeling and co-simulation with dynanics.
3
+ Version: 1.0.0
4
+ Summary: Python software for scheduling modeling and co-simulation with dynamics.
5
5
  Home-page: https://github.com/CURENT/ams
6
6
  Author: Jinning Wang
7
- Author-email: jinninggm@gmail.com
8
- License: GNU Public License v3
9
- Platform: UNKNOWN
7
+ Author-email: Jinning Wang <jinninggm@gmail.com>
8
+ License: GPL-3.0-or-later
10
9
  Classifier: Development Status :: 4 - Beta
11
10
  Classifier: Natural Language :: English
12
11
  Classifier: Programming Language :: Python :: 3
13
12
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
14
13
  Classifier: Environment :: Console
15
14
  Description-Content-Type: text/markdown
16
- Provides-Extra: all
17
- Provides-Extra: coverage
15
+ Requires-Dist: kvxopt>=1.3.2.1
16
+ Requires-Dist: numpy
17
+ Requires-Dist: scipy
18
+ Requires-Dist: sympy!=1.10.0,>=1.6
19
+ Requires-Dist: pandas
20
+ Requires-Dist: matplotlib
21
+ Requires-Dist: psutil
22
+ Requires-Dist: openpyxl
23
+ Requires-Dist: andes>=1.9.3
24
+ Requires-Dist: pybind11
25
+ Requires-Dist: cvxpy
18
26
  Provides-Extra: dev
27
+ Requires-Dist: pytest; extra == "dev"
28
+ Requires-Dist: pytest-cov; extra == "dev"
29
+ Requires-Dist: coverage; extra == "dev"
30
+ Requires-Dist: flake8; extra == "dev"
31
+ Requires-Dist: numpydoc; extra == "dev"
32
+ Requires-Dist: toml; extra == "dev"
33
+ Requires-Dist: pyscipopt; extra == "dev"
34
+ Requires-Dist: toml; extra == "dev"
19
35
  Provides-Extra: doc
20
- Provides-Extra: flake8
21
- Provides-Extra: ipython
22
- Provides-Extra: myst-parser
23
- Provides-Extra: nbsphinx
24
- Provides-Extra: numpydoc
25
- Provides-Extra: pandoc
26
- Provides-Extra: pydata-sphinx-theme
27
- Provides-Extra: pyscipopt
28
- Provides-Extra: pytest
29
- Provides-Extra: pytest-cov
30
- Provides-Extra: sphinx
31
- Provides-Extra: sphinx-copybutton
32
- Provides-Extra: sphinx-panels
33
- Provides-Extra: toml
34
- License-File: LICENSE
36
+ Requires-Dist: pandoc; extra == "doc"
37
+ Requires-Dist: ipython; extra == "doc"
38
+ Requires-Dist: sphinx; extra == "doc"
39
+ Requires-Dist: pydata-sphinx-theme; extra == "doc"
40
+ Requires-Dist: numpydoc; extra == "doc"
41
+ Requires-Dist: sphinx-copybutton; extra == "doc"
42
+ Requires-Dist: sphinx-panels; extra == "doc"
43
+ Requires-Dist: myst-parser; extra == "doc"
44
+ Requires-Dist: nbsphinx; extra == "doc"
45
+ Requires-Dist: pyscipopt; extra == "doc"
46
+ Dynamic: author
47
+ Dynamic: home-page
35
48
 
36
49
  # LTB AMS
37
50
 
@@ -64,12 +77,14 @@ Python Software for Power System Scheduling Modeling and Co-Simulation with Dyna
64
77
 
65
78
  # Why AMS
66
79
 
67
- With the built-in interface with ANDES, AMS enables **Dynamics Incorporated**
68
- **Stability-Constrained Scheduling**.
80
+ AMS facilitates **Dynamics Incorporated Scheduling** and **Scheduling-Dynamics Co-Simulation**
81
+ through an integrated interface with ANDES.
69
82
 
70
- This package can be helpful for power system engineers, researchers, and students
71
- who need to conduct scheduling studies and transient stability studies at given
72
- operating points.
83
+ This package is helpful for power system engineers, researchers, and students conducting
84
+ scheduling and transient stability studies at specific operating points. It also benefits
85
+ those interested in developing new scheduling formulations and algorithms, particularly
86
+ by extending existing formulations to include new decision variables, constraints, and
87
+ objective functions.
73
88
 
74
89
  AMS is a **Modeling Framework** that provides a descriptive way to formulate
75
90
  scheduling problems. The optimization problems are then handled by **CVXPY**
@@ -78,15 +93,35 @@ and solved with third-party solvers.
78
93
  AMS produces credible scheduling results and competitive performance.
79
94
  The following results show the comparison of DCOPF between AMS and other tools.
80
95
 
81
- | Cost [\$] | AMS | MATPOWER | pandapower |
82
- |----------------:|--------------:|------------:|-----------:|
83
- | PEGASE 1354-Bus | 1,173,590.63 | 1,173,590.63 | 1,173,590.63 |
84
- | PEGASE 2869-Bus | 2,338,915.61 | 2,338,915.61 | 2,338,915.61 |
85
- | GOC 4020-Bus | 793,634.11 | 793,634.11 | 793,634.11 |
86
- | EPIGRIDS 5658-Bus| 1,195,466.12 | 1,195,466.12 | 1,195,466.12 |
87
- | EPIGRIDS 7336-Bus| 1,855,870.94 | 1,855,870.94 | 1,855,870.94 |
88
-
89
- <img src="docs/source/images/dcopf_time.png" alt="DCOPF Time" width="400" height="auto">
96
+ | Cost [\$] | AMS | pandapower | MATPOWER |
97
+ |-----------------------|--------------|--------------|--------------|
98
+ | IEEE 14-Bus | 7,642.59 | 7,642.59 | 7,642.59 |
99
+ | IEEE 39-Bus | 41,263.94 | 41,263.94 | 41,263.94 |
100
+ | PEGASE 89-Bus | 5,733.37 | 5,733.37 | 5,733.37 |
101
+ | IEEE 118-Bus | 125,947.88 | 125,947.88 | 125,947.88 |
102
+ | NPCC 140-Bus | 810,033.37 | 810,016.06 | 810,033.37 |
103
+ | WECC 179-Bus | 411,706.13 | 411,706.13 | 411,706.13 |
104
+ | IEEE 300-Bus | 706,292.32 | 706,292.32 | 706,292.32 |
105
+ | PEGASE 1354-Bus | 1,218,096.86 | 1,218,096.86 | 1,218,096.86 |
106
+ | PEGASE 2869-Bus | 2,386,235.33 | 2,386,235.33 | 2,386,235.33 |
107
+ | GOC 4020-Bus | 793,634.11 | 793,634.11 | 793,634.11 |
108
+ | EPIGRIDS 5658-Bus | 1,195,466.12 | 1,195,466.12 | 1,195,466.12 |
109
+ | EPIGRIDS 7336-Bus | 1,855,870.94 | 1,855,870.94 | 1,855,870.94 |
110
+
111
+ <div style="text-align: left;">
112
+ <img src="docs/source/images/dcopf_time.png" alt="DCOPF Time" width="480" height="auto">
113
+ <p><strong>Figure:</strong> Computation time of OPF on small-scale cases.</p>
114
+ </div>
115
+
116
+ In the bar chart, the gray bar labeled "AMS Symbolic Processing" represents the time spent
117
+ on symbolic processing, while the wheat-colored bar "AMS Numeric Evaluation" represents the
118
+ time spent on system matrices calculation and optimization model construction.
119
+ The orange bar labeled "AMS GUROBI" represents the optimization-solving time using the GUROBI solver.
120
+ Similarly, the red bar labeled "AMS MOSEK" and the pink bar labeled "AMS PIQP" represent the
121
+ time used by the solvers MOSEK and PIQP, respectively.
122
+ Regarding the baselines, the blue and green bars represent the running time of MATPOWER using
123
+ solver MIPS and pandapower using solver PIPS, respectively.
124
+ The results for AMS, pandapower, and matpower are the average time consumed over ten repeat tests.
90
125
 
91
126
  AMS is currently under active development.
92
127
  Use the following resources to get involved.
@@ -99,16 +134,11 @@ Use the following resources to get involved.
99
134
  - Submit contributions using [pull requests][GitHub pull requests]
100
135
  - Read release notes highlighted [here][release notes]
101
136
  - Try in Jupyter Notebook on [Binder][Binder]
102
- <!-- + Check out and and cite our [paper][arxiv paper] -->
137
+ - Check out the source code used for [benchmark][benchmark]
138
+ - Check out and and cite our [paper][paper]
103
139
 
104
140
  # Installation
105
141
 
106
- ***NOTE:***
107
- - Version **0.9.9** has known issues and has been yanked from PyPI
108
- - `kvxopt` is recommended to install via `conda` as sometimes ``pip`` struggles to set the correct path for compiled libraries
109
- - `cvxpy` versions **below 1.5** are incompatible with `numpy` versions **2.0 and above**
110
- - If solver `SCIP` run into import error, try to reinstall its Python interface by running `pip install pyscipopt --no-binary scip --force`
111
-
112
142
  AMS is released as ``ltbams`` on PyPI and conda-forge.
113
143
  Install from PyPI using pip:
114
144
 
@@ -128,6 +158,12 @@ Install from GitHub source:
128
158
  pip install git+https://github.com/CURENT/ams.git
129
159
  ```
130
160
 
161
+ ***NOTE:***
162
+ - Version **0.9.9** has known issues and has been yanked from PyPI
163
+ - `kvxopt` is recommended to install via `conda` as sometimes ``pip`` struggles to set the correct path for compiled libraries
164
+ - `cvxpy` versions **below 1.5** are incompatible with `numpy` versions **2.0 and above**
165
+ - If solver `SCIP` run into import error, try to reinstall its Python interface by running `pip install pyscipopt --no-binary scip --force`
166
+
131
167
  # Example Usage
132
168
 
133
169
  ```python
@@ -149,6 +185,13 @@ sa
149
185
  >>> <andes.system.System at 0x14bd98190>
150
186
  ```
151
187
 
188
+ # Citing AMS
189
+ If you use AMS for research or consulting, please cite the following paper in your publication that uses AMS:
190
+
191
+ ```
192
+ J. Wang et al., "Dynamics-incorporated Modeling Framework for Stability Constrained Scheduling Under High-penetration of Renewable Energy," in IEEE Transactions on Sustainable Energy, doi: 10.1109/TSTE.2025.3528027.
193
+ ```
194
+
152
195
  # Sponsors and Contributors
153
196
  AMS is the scheduling simulation engine for the CURENT Largescale Testbed (LTB).
154
197
  More information about CURENT LTB can be found at the [LTB Repository][LTB Repository].
@@ -184,4 +227,5 @@ Some commercial solvers provide academic licenses, such as COPT, GUROBI, CPLEX,
184
227
  [verification]: https://github.com/CURENT/ams/tree/master/examples/verification
185
228
  [Binder]: https://mybinder.org/v2/gh/curent/ams/master
186
229
  [LTB Repository]: https://github.com/CURENT
187
-
230
+ [benchmark]: https://github.com/CURENT/demo/tree/master/demo/ams_benchmark
231
+ [paper]: https://ieeexplore.ieee.org/document/9169830
@@ -1,38 +1,3 @@
1
- Metadata-Version: 2.1
2
- Name: ltbams
3
- Version: 0.9.13
4
- Summary: Python software for scheduling modeling and co-simulation with dynanics.
5
- Home-page: https://github.com/CURENT/ams
6
- Author: Jinning Wang
7
- Author-email: jinninggm@gmail.com
8
- License: GNU Public License v3
9
- Platform: UNKNOWN
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: Natural Language :: English
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
14
- Classifier: Environment :: Console
15
- Description-Content-Type: text/markdown
16
- Provides-Extra: all
17
- Provides-Extra: coverage
18
- Provides-Extra: dev
19
- Provides-Extra: doc
20
- Provides-Extra: flake8
21
- Provides-Extra: ipython
22
- Provides-Extra: myst-parser
23
- Provides-Extra: nbsphinx
24
- Provides-Extra: numpydoc
25
- Provides-Extra: pandoc
26
- Provides-Extra: pydata-sphinx-theme
27
- Provides-Extra: pyscipopt
28
- Provides-Extra: pytest
29
- Provides-Extra: pytest-cov
30
- Provides-Extra: sphinx
31
- Provides-Extra: sphinx-copybutton
32
- Provides-Extra: sphinx-panels
33
- Provides-Extra: toml
34
- License-File: LICENSE
35
-
36
1
  # LTB AMS
37
2
 
38
3
  Python Software for Power System Scheduling Modeling and Co-Simulation with Dynamics, serving as the market simulator for the [CURENT Largescale Testbed][LTB Repository].
@@ -64,12 +29,14 @@ Python Software for Power System Scheduling Modeling and Co-Simulation with Dyna
64
29
 
65
30
  # Why AMS
66
31
 
67
- With the built-in interface with ANDES, AMS enables **Dynamics Incorporated**
68
- **Stability-Constrained Scheduling**.
32
+ AMS facilitates **Dynamics Incorporated Scheduling** and **Scheduling-Dynamics Co-Simulation**
33
+ through an integrated interface with ANDES.
69
34
 
70
- This package can be helpful for power system engineers, researchers, and students
71
- who need to conduct scheduling studies and transient stability studies at given
72
- operating points.
35
+ This package is helpful for power system engineers, researchers, and students conducting
36
+ scheduling and transient stability studies at specific operating points. It also benefits
37
+ those interested in developing new scheduling formulations and algorithms, particularly
38
+ by extending existing formulations to include new decision variables, constraints, and
39
+ objective functions.
73
40
 
74
41
  AMS is a **Modeling Framework** that provides a descriptive way to formulate
75
42
  scheduling problems. The optimization problems are then handled by **CVXPY**
@@ -78,15 +45,35 @@ and solved with third-party solvers.
78
45
  AMS produces credible scheduling results and competitive performance.
79
46
  The following results show the comparison of DCOPF between AMS and other tools.
80
47
 
81
- | Cost [\$] | AMS | MATPOWER | pandapower |
82
- |----------------:|--------------:|------------:|-----------:|
83
- | PEGASE 1354-Bus | 1,173,590.63 | 1,173,590.63 | 1,173,590.63 |
84
- | PEGASE 2869-Bus | 2,338,915.61 | 2,338,915.61 | 2,338,915.61 |
85
- | GOC 4020-Bus | 793,634.11 | 793,634.11 | 793,634.11 |
86
- | EPIGRIDS 5658-Bus| 1,195,466.12 | 1,195,466.12 | 1,195,466.12 |
87
- | EPIGRIDS 7336-Bus| 1,855,870.94 | 1,855,870.94 | 1,855,870.94 |
88
-
89
- <img src="docs/source/images/dcopf_time.png" alt="DCOPF Time" width="400" height="auto">
48
+ | Cost [\$] | AMS | pandapower | MATPOWER |
49
+ |-----------------------|--------------|--------------|--------------|
50
+ | IEEE 14-Bus | 7,642.59 | 7,642.59 | 7,642.59 |
51
+ | IEEE 39-Bus | 41,263.94 | 41,263.94 | 41,263.94 |
52
+ | PEGASE 89-Bus | 5,733.37 | 5,733.37 | 5,733.37 |
53
+ | IEEE 118-Bus | 125,947.88 | 125,947.88 | 125,947.88 |
54
+ | NPCC 140-Bus | 810,033.37 | 810,016.06 | 810,033.37 |
55
+ | WECC 179-Bus | 411,706.13 | 411,706.13 | 411,706.13 |
56
+ | IEEE 300-Bus | 706,292.32 | 706,292.32 | 706,292.32 |
57
+ | PEGASE 1354-Bus | 1,218,096.86 | 1,218,096.86 | 1,218,096.86 |
58
+ | PEGASE 2869-Bus | 2,386,235.33 | 2,386,235.33 | 2,386,235.33 |
59
+ | GOC 4020-Bus | 793,634.11 | 793,634.11 | 793,634.11 |
60
+ | EPIGRIDS 5658-Bus | 1,195,466.12 | 1,195,466.12 | 1,195,466.12 |
61
+ | EPIGRIDS 7336-Bus | 1,855,870.94 | 1,855,870.94 | 1,855,870.94 |
62
+
63
+ <div style="text-align: left;">
64
+ <img src="docs/source/images/dcopf_time.png" alt="DCOPF Time" width="480" height="auto">
65
+ <p><strong>Figure:</strong> Computation time of OPF on small-scale cases.</p>
66
+ </div>
67
+
68
+ In the bar chart, the gray bar labeled "AMS Symbolic Processing" represents the time spent
69
+ on symbolic processing, while the wheat-colored bar "AMS Numeric Evaluation" represents the
70
+ time spent on system matrices calculation and optimization model construction.
71
+ The orange bar labeled "AMS GUROBI" represents the optimization-solving time using the GUROBI solver.
72
+ Similarly, the red bar labeled "AMS MOSEK" and the pink bar labeled "AMS PIQP" represent the
73
+ time used by the solvers MOSEK and PIQP, respectively.
74
+ Regarding the baselines, the blue and green bars represent the running time of MATPOWER using
75
+ solver MIPS and pandapower using solver PIPS, respectively.
76
+ The results for AMS, pandapower, and matpower are the average time consumed over ten repeat tests.
90
77
 
91
78
  AMS is currently under active development.
92
79
  Use the following resources to get involved.
@@ -99,16 +86,11 @@ Use the following resources to get involved.
99
86
  - Submit contributions using [pull requests][GitHub pull requests]
100
87
  - Read release notes highlighted [here][release notes]
101
88
  - Try in Jupyter Notebook on [Binder][Binder]
102
- <!-- + Check out and and cite our [paper][arxiv paper] -->
89
+ - Check out the source code used for [benchmark][benchmark]
90
+ - Check out and and cite our [paper][paper]
103
91
 
104
92
  # Installation
105
93
 
106
- ***NOTE:***
107
- - Version **0.9.9** has known issues and has been yanked from PyPI
108
- - `kvxopt` is recommended to install via `conda` as sometimes ``pip`` struggles to set the correct path for compiled libraries
109
- - `cvxpy` versions **below 1.5** are incompatible with `numpy` versions **2.0 and above**
110
- - If solver `SCIP` run into import error, try to reinstall its Python interface by running `pip install pyscipopt --no-binary scip --force`
111
-
112
94
  AMS is released as ``ltbams`` on PyPI and conda-forge.
113
95
  Install from PyPI using pip:
114
96
 
@@ -128,6 +110,12 @@ Install from GitHub source:
128
110
  pip install git+https://github.com/CURENT/ams.git
129
111
  ```
130
112
 
113
+ ***NOTE:***
114
+ - Version **0.9.9** has known issues and has been yanked from PyPI
115
+ - `kvxopt` is recommended to install via `conda` as sometimes ``pip`` struggles to set the correct path for compiled libraries
116
+ - `cvxpy` versions **below 1.5** are incompatible with `numpy` versions **2.0 and above**
117
+ - If solver `SCIP` run into import error, try to reinstall its Python interface by running `pip install pyscipopt --no-binary scip --force`
118
+
131
119
  # Example Usage
132
120
 
133
121
  ```python
@@ -149,6 +137,13 @@ sa
149
137
  >>> <andes.system.System at 0x14bd98190>
150
138
  ```
151
139
 
140
+ # Citing AMS
141
+ If you use AMS for research or consulting, please cite the following paper in your publication that uses AMS:
142
+
143
+ ```
144
+ J. Wang et al., "Dynamics-incorporated Modeling Framework for Stability Constrained Scheduling Under High-penetration of Renewable Energy," in IEEE Transactions on Sustainable Energy, doi: 10.1109/TSTE.2025.3528027.
145
+ ```
146
+
152
147
  # Sponsors and Contributors
153
148
  AMS is the scheduling simulation engine for the CURENT Largescale Testbed (LTB).
154
149
  More information about CURENT LTB can be found at the [LTB Repository][LTB Repository].
@@ -184,4 +179,5 @@ Some commercial solvers provide academic licenses, such as COPT, GUROBI, CPLEX,
184
179
  [verification]: https://github.com/CURENT/ams/tree/master/examples/verification
185
180
  [Binder]: https://mybinder.org/v2/gh/curent/ams/master
186
181
  [LTB Repository]: https://github.com/CURENT
187
-
182
+ [benchmark]: https://github.com/CURENT/demo/tree/master/demo/ams_benchmark
183
+ [paper]: https://ieeexplore.ieee.org/document/9169830
@@ -2,7 +2,6 @@ from . import _version
2
2
  __version__ = _version.get_versions()['version']
3
3
 
4
4
  from ams import opt # NOQA
5
- from ams import benchmarks # NOQA
6
5
 
7
6
  from ams.main import config_logger, load, run # NOQA
8
7
  from ams.system import System # NOQA
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-12-05T16:49:45-0500",
11
+ "date": "2025-01-24T16:25:19-0500",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "db9279e8765429827062032b803c756025c018b2",
15
- "version": "0.9.13"
14
+ "full-revisionid": "b06fb9d427a5bc13bf2810f6d8bf45d92fb8224d",
15
+ "version": "1.0.0"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -514,7 +514,7 @@
514
514
  "name": 3
515
515
  }
516
516
  ],
517
- "Region": [
517
+ "Zone": [
518
518
  {
519
519
  "idx": "ZONE_1",
520
520
  "u": 1.0,
@@ -262,7 +262,7 @@ class MatProcessor:
262
262
  ng = system.StaticGen.n
263
263
 
264
264
  # bus indices: idx -> uid
265
- idx_gen = system.StaticGen.get_idx()
265
+ idx_gen = system.StaticGen.get_all_idxes()
266
266
  u_gen = system.StaticGen.get(src='u', attr='v', idx=idx_gen)
267
267
  on_gen = np.flatnonzero(u_gen) # uid of online generators
268
268
  on_gen_idx = [idx_gen[i] for i in on_gen] # idx of online generators
@@ -15,6 +15,8 @@ from andes.utils.func import list_flatten
15
15
  from ams.core.documenter import Documenter
16
16
  from ams.core.var import Algeb
17
17
 
18
+ from ams.utils.misc import deprec_get_idx
19
+
18
20
  logger = logging.getLogger(__name__)
19
21
 
20
22
 
@@ -51,10 +53,6 @@ class Model:
51
53
  )))
52
54
  self.docum = Documenter(self)
53
55
 
54
- # TODO: duplicate from ANDES, disable for now
55
- # self.syms = SymProcessor(self) # symbolic processor instance
56
- # self.docum = Documenter(self)
57
-
58
56
  def _all_vars(self):
59
57
  """
60
58
  An OrderedDict of States, ExtStates, Algebs, ExtAlgebs
@@ -212,17 +210,17 @@ class Model:
212
210
  self.__dict__[src].__dict__[attr][uid] = value
213
211
  return True
214
212
 
215
- def alter(self, src, idx, value):
213
+ def alter(self, src, idx, value, attr='v'):
216
214
  """
217
215
  Alter values of input parameters or constant service.
218
216
 
219
217
  If the method operates on an input parameter, the new data should be in
220
- the same base as that in the input file. This function will convert the
221
- new value to per unit in the system base.
218
+ the same base as that in the input file. This function will convert
219
+ ``value`` to per unit in the system base whenever necessary.
222
220
 
223
- The values for storing the input data, i.e., the ``vin`` field of the
224
- parameter, will be overwritten, thus the update will be reflected in the
225
- dumped case file.
221
+ The values for storing the input data, i.e., the parameter's ``vin``
222
+ field, will be overwritten. As a result, altered values will be
223
+ reflected in the dumped case file.
226
224
 
227
225
  Parameters
228
226
  ----------
@@ -232,14 +230,31 @@ class Model:
232
230
  The device to alter
233
231
  value : float
234
232
  The desired value
233
+ attr : str
234
+ The attribute to alter, default is 'v'.
235
+
236
+ Notes
237
+ -----
238
+ New in version 0.9.14: Added the signature `attr` to alter specific attributes.
239
+ This feature is useful when you need to manipulate parameter values in the system
240
+ base and ensure that these changes are reflected in the dumped case file.
235
241
  """
242
+
236
243
  instance = self.__dict__[src]
237
244
 
238
245
  if hasattr(instance, 'vin') and (instance.vin is not None):
239
- self.set(src, idx, 'vin', value)
240
- instance.v[:] = instance.vin * instance.pu_coeff
241
- else:
246
+ uid = self.idx2uid(idx)
247
+ if attr == 'vin':
248
+ self.set(src, idx, 'vin', value / instance.pu_coeff[uid])
249
+ self.set(src, idx, 'v', value=value)
250
+ else:
251
+ self.set(src, idx, 'vin', value)
252
+ self.set(src, idx, 'v', value * instance.pu_coeff[uid])
253
+ elif not hasattr(instance, 'vin') and attr == 'vin':
254
+ logger.warning(f"{self.class_name}.{src} has no `vin` attribute, changing `v`.")
242
255
  self.set(src, idx, 'v', value)
256
+ else:
257
+ self.set(src, idx, attr=attr, value=value)
243
258
 
244
259
  def idx2uid(self, idx):
245
260
  """
@@ -286,6 +301,7 @@ class Model:
286
301
  """
287
302
  return self.docum.get(max_width=max_width, export=export)
288
303
 
304
+ @deprec_get_idx
289
305
  def get_idx(self):
290
306
  """
291
307
  Return the index of the model instance.
@@ -294,6 +310,20 @@ class Model:
294
310
  """
295
311
  return self.idx.v
296
312
 
313
+ def get_all_idxes(self):
314
+ """
315
+ Return all the indexes of this model.
316
+
317
+ .. note::
318
+ New in version 1.0.0. Add to follow the group method ``get_all_idxes``.
319
+
320
+ Returns
321
+ -------
322
+ list
323
+ A list of indexes.
324
+ """
325
+ return self.idx.v
326
+
297
327
  def __repr__(self):
298
328
  dev_text = 'device' if self.n == 1 else 'devices'
299
329
 
@@ -12,6 +12,8 @@ from scipy.sparse import issparse
12
12
 
13
13
  from ams.opt import Param
14
14
 
15
+ from ams.utils.misc import deprec_get_idx
16
+
15
17
  logger = logging.getLogger(__name__)
16
18
 
17
19
 
@@ -168,7 +170,7 @@ class RParam(Param):
168
170
  out = self._v
169
171
  elif self.is_group:
170
172
  out = self.owner.get(src=self.src, attr='v',
171
- idx=self.owner.get_idx())
173
+ idx=self.owner.get_all_idxes())
172
174
  else:
173
175
  src_param = getattr(self.owner, self.src)
174
176
  out = getattr(src_param, 'v')
@@ -180,7 +182,7 @@ class RParam(Param):
180
182
  msg += 'likely a modeling error.'
181
183
  raise AttributeError(msg)
182
184
  try:
183
- sorted_idx = self.owner.find_idx(keys=self.indexer, values=imodel.get_idx())
185
+ sorted_idx = self.owner.find_idx(keys=self.indexer, values=imodel.get_all_idxes())
184
186
  except AttributeError:
185
187
  sorted_idx = self.owner.idx.v
186
188
  except Exception as e:
@@ -237,6 +239,7 @@ class RParam(Param):
237
239
  postfix = '' if self.src is None else f'.{self.src}'
238
240
  return f'{self.__class__.__name__}: {owner}' + postfix
239
241
 
242
+ @deprec_get_idx
240
243
  def get_idx(self):
241
244
  """
242
245
  Get the index of the parameter.
@@ -252,7 +255,49 @@ class RParam(Param):
252
255
  """
253
256
  if self.indexer is None:
254
257
  if self.is_group:
255
- return self.owner.get_idx()
258
+ return self.owner.get_all_idxes()
259
+ elif self.owner is None:
260
+ logger.info(f'Param <{self.name}> has no owner.')
261
+ return None
262
+ elif hasattr(self.owner, 'idx'):
263
+ return self.owner.idx.v
264
+ else:
265
+ logger.info(f'Param <{self.name}> owner <{self.owner.class_name}> has no idx.')
266
+ return None
267
+ else:
268
+ try:
269
+ imodel = getattr(self.rtn.system, self.imodel)
270
+ except AttributeError:
271
+ msg = f'Indexer source model <{self.imodel}> not found, '
272
+ msg += 'likely a modeling error.'
273
+ raise AttributeError(msg)
274
+ try:
275
+ sorted_idx = self.owner.find_idx(keys=self.indexer, values=imodel.get_all_idxes())
276
+ except AttributeError:
277
+ msg = f'Indexer <{self.indexer}> not found in <{self.imodel}>, '
278
+ msg += 'likely a modeling error.'
279
+ raise AttributeError(msg)
280
+ return sorted_idx
281
+
282
+ def get_all_idxes(self):
283
+ """
284
+ Get all the indexes of the parameter.
285
+
286
+ .. note::
287
+ New in version 1.0.0.
288
+
289
+ Returns
290
+ -------
291
+ idx : list
292
+ Index of the parameter.
293
+
294
+ Notes
295
+ -----
296
+ - The value will sort by the indexer if indexed.
297
+ """
298
+ if self.indexer is None:
299
+ if self.is_group:
300
+ return self.owner.get_all_idxes()
256
301
  elif self.owner is None:
257
302
  logger.info(f'Param <{self.name}> has no owner.')
258
303
  return None
@@ -269,7 +314,7 @@ class RParam(Param):
269
314
  msg += 'likely a modeling error.'
270
315
  raise AttributeError(msg)
271
316
  try:
272
- sorted_idx = self.owner.find_idx(keys=self.indexer, values=imodel.get_idx())
317
+ sorted_idx = self.owner.find_idx(keys=self.indexer, values=imodel.get_all_idxes())
273
318
  except AttributeError:
274
319
  msg = f'Indexer <{self.indexer}> not found in <{self.imodel}>, '
275
320
  msg += 'likely a modeling error.'