牛顿-拉夫逊法潮流计算总体设计
程序接口
输入文件包括五个测试文件,,,,,。(详细格式说明见
第4节)。每个算例的程序输出文件为计变量。在进行计算时,减少了数据声明的冗余,也方便了关于统一参数的调用。
。其中,达成这一功能的实体函数是CReadData类中的Read(char*)函数,传达的形参为原始数据文件名。
由于原始数据文件的特点,每一组数据的长度未知,所以先利用标准程序库中的vector
容器能够自动动向分派内存的特性,使用vector对原始数据文件进行读取,然后将读入的数
据赋值到相应的变量中。在程序中还对原始数据中没有,可是进行计算时需要的信息进行了计算,比方节点个数,节点电压模值等。
。
程序中实现了静态优化编号、半动向优化编号和动向优化编号三种优化编号方式。三
种节点优化方式分别由NodeOptimize类中StaticOptimize()函数、HalfDymOptimize()函数
和DynamicOptimize()函数实现。详细优化算法见《现代电力系统剖析》32页。
节点优化编号达成后,将一般支路的端点号、变压器支路的端点号和节点编号进行调
整,使原始的节点号更新为新的节点编号,并且将节点信息数组按照新的节点编号大小从头
排列,即便其数组下标和节点编号对应,方便在此后的计算中读取节点信息。这个功能是由NodeOptimize类中AdjustNodeNo()函数实现的。
。
程序中实现了稀疏导纳矩阵的形成,由YMatrix类中SpareYMatrix()函数实现。首先,
将一般支路和变压器支路的端点编号进行调整,将编号较小的端点统一作为一般支路和变压
器支路的出点,将编号较大的端点统一作为一般支路和变压器支路的收点。在形成导纳阵时,
经过对支路(包括一般支路和接地支路)和变压器支路节点出点和收点的遍历,能够获得每行对应的非零元素的地点信息,然后经过对支路种类的判断,根据不同的支路按照不同方式计算导纳,最后放到稀疏矩阵的相应的地点上去。
在程序中考虑了双回线的影响。因为双回线始终是排在相邻的两个支路,所以经过比较
目前办理的支路和上一条办理的支路的端点号是否一致,就能够判断出是否为双回线。
形成导纳阵之后,获得了导纳阵的上三角非零元素,对角元素,上三角非零元素的行首
地点和列号。
。
在程序中对修正方程式采取了按节点边形成边消去的过程,在形成雅克比矩阵元素的
同时积累常数项,减少了迭代过程中的运算量。这个功能主假如由Jacobi类中FormJacobi()
FormFactor
牛顿拉夫逊法潮流计算总体设计 来自淘豆网m.daumloan.com转载请标明出处.