下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用标准文案 精彩文档 电气工程及其自动化专业综合实训一 原始资料 网络接线如图,各支路阻抗和各节点功率均以标幺值标于图中, 其中节点 2 2 连接的实际是发额定功率的发电厂。设节点 1 1 的电压 保持为 1.061.06,试计算图示系统中的潮流分布。(计算精度 1010-5) 二、等值电路图 电力系统潮流计算 二、报告要求: 1 1、 写出潮流计算的原理 2 2、 写出功率方程(极坐标或直角坐标) 3 3、 写出雅克比矩阵元素的表达式或 PQPQ 分解法中的系数矩阵 4 4、 利用 MATLABLEMATLABLE 语言或其他语言编程调试 5 5、 心得或体会 实用标准文案 精彩文档 6
2、6、 附程序代码,打印 潮流计算步骤: 1、写出潮流计算的原理 潮流是指在发电机母线上功率被注入网络,而在变(配)电站的 母线上接入负荷,其间,功率在网络中流动。对于这种流动的功率, 电力生产部门称之为潮流。以电力网络潮流、电压计算为主要内容的 电力网络稳态行为特性计算的目的在于估计对用户电力供应的质量以 及为电力网运行的安全性与经济性评估提供基础数据。配电网潮流计 算是配电网络分析的基础,配电网的网络重构、无功功率优化、状态 估计和故障处理都需要用到配电网潮流数据。 电力系统稳态运行应满足以下要求: 1 1) 满足系统经济性运行的要求,每一台发电机的输出必须接近于 预先设定值; 2 2) 必
3、须确保联络线潮流低于线路热极限和电力系统稳定极限; 3 3) 必须保持某些中枢点母线上的电压水平在容许范围内, 必要时 用无功功率补偿计划来达到; 4 4) 区域电网是互联系统的一部分,必须执行合同规定的输送至邻 网的联络线功率计划; 5 5 )用故障前的潮流控制策略使事故扰动效应最小化。 通常情况下,输电线路电压在轻载时会较高,重载时会较低,电 压调整是指在负载由轻载到满载变化过程中实时调整线路电压满足运 行要求;对于超高压输电线路,线路电压维持在额定电压的士 5%5%之内, , 实际运行时,通常电压调整约为 10%10%。对于低压输电线路,电压调 实用标准文案 精彩文档 整数值为 10%1
4、0%,包含了变压器本身的电压降落。 .1 潮流计算的基本物理量 潮流计算是电力系统分析中的一种最基本的计算,它的任务是对 给定的运行条件确定系统的运行状态,就是在三相平衡稳态状态下计 算电力系统中每条母线的电压幅值和相角,其中每一设备如传输线和 变压器中的有功和无功潮流,以及各设备的损耗都需要计算出来。 潮流计算采用电力系统的单线图,对于任意一条母线 i i,需要以下 四个变量描述:电压幅值 UiUi、相角,电网供给母线的有功 PiPi、无功 QiQi。若某一电力系统有 N N 个节点,则共有 4N4N 个变量,对于每条母线, 这些变量中的两个指定为输入数据,其它的两个是潮流程
5、序所要计算 的未知量。为方便起见,在图 3.13.1 中传送给母线 i i的功率可分为发电机 发出和负载吸收两部分。也就是 Pi Pi = = PGi PGi - PLiPLi Qi Qi = = QGi QGi - QLiQLi I 5 图 3 3- -1 1 节点的变量 每条母线被归分为以下三种母线类型中的某一类: 1 1) 平衡节点,一般一个系统只有一个平衡节点。在潮流分布 实用标准文案 精彩文档 算出以前,网络中的功率损耗是未知的,因此,至少有一个节点的 有功功率 P P 和无功功率 Q Q 不能给定。另外必须选定一个节点,制 定其电压相角为零,作为其它节点电压相位的参考,这个节点叫基
6、 准节点。为了计算方便,常将平衡节点和基准节点设在同一个节点 上。为方便起见在本书中把它标号为母线 1 1。平衡节点是电压参考 节点,该母线的-是给定值,作为输入数据,典型取标幺值 。 潮流程序计算 P1P1 和 Q1Q1。因为平衡节点的 P P、Q Q 事先无法确定, 为使潮流计算结果符合实际,常把平衡节点选在有较大调节裕量的 发电机节点,潮流计算结束时若平衡节点的有功功率、 无功功率和 实际情况不符,就要调整其他节点的边界条件以使平衡节点的功率 满足实际允许范围。 2 2) PQPQ 节点,PiPi 和 QiQi 是输入数据。这类节点的有功功率 Pi Pi 和无功功率 QiQi是给定的,潮
7、流计算程序计算节点电压幅值 UiUi 和相 角送。负荷节点和无功功率注入的联络节点都属于这类节点。有些 情况下,系统中某些发电厂送出的功率在一定时间内为固定时,该 发电厂母线也可以作为 PQPQ 节点。在一个典型的潮流程序中绝大多 数母线作为 PQPQ 节点。 3 3) PUPU 节点(电压控制母线),PiPi 和 UiUi 是输入数据。这类节 点的有功功率 PiPi和节点电压幅值 UiUi 是给定的,潮流程序计算节点 的无功功率 QiQi 和电压相角-。这类节点必须具有足够的无功可调 容量,用以保持给定的节点电压幅值。在电力系统中这类节点的数 目较少。例如与发电机、并联补偿电容器或者静止无功
8、系统相连的 母线。设备无功功率最大值 QGimaxQGimax 和最小值 QGiminQGimin 都是输入 数据。另一个例子是与抽头可调节实用标准文案 精彩文档 变压器相连的母线, 用潮流程序 计算抽头的位置。 注意,当母线 i i 是无发电机相连接的负载母线时,Pi=Pi=- -PLiPLi 为 负值;也就是说,在图 3.13.1 中给母线 i i 提供的有功为负值。如果负 荷是感性的,QiQi 二-QLiQLi 为负值。 综上所述,若系统中有 n n 个节点,n n 为网络中除去参考节点外 的节点数,本书中以大地为参考节点,选第 1 1 个节点为平衡节点, 剩下的 n n- -1 1 个
9、节点中有 r r 个 PUPU 节点,则有 n n- -r r- -1 1 个 PQPQ 节点。因 此,除了平衡节点外,有 n n- -1 1 个节点的注入有功功率、n n- -r r- -1 1 个 PQ PQ 节点的注入无功功率和 r r 个 PUPU 节点电压幅值为已知量。 .2 潮流计算的数学模型 在稳态潮流计算中,电力系统各元件(参数)等效成一个有源 网络。将发电机和负荷用无阻抗线从网络中抽出,剩下的是由接地 和不接地支路组成的无源线性网络,可以用导纳矩阵( Y Y)或阻抗 矩阵(Z Z)来描述。 采用导纳矩阵时,节点电流和节点电压构成以下方程: T T ( 3 3-
10、 -1 1 ) 其中:丫为 n n xn n 阶导纳矩阵,其阶数 n n 为网络中除去参考节 点外的节点数,如果不考虑网络元件的非线性及变压器的相位偏 移,Y Y 为对称矩阵,】为 n n X1 1 维节点注入电流列向量,在电力系统 计算中,节点注入电流可理解为该节点电源电流与负荷电流之和, 并规定流入节点电流为正。因此仅有负荷的节电电流就为负值,某 些仅起联络作用的节点,图 3 3- -2 2中节点 n=3n=3,其注入电流为零。 为 n n X1 1 维节点电压列向量。网络中有接地支路实用标准文案 精彩文档 时,节点电压通常 指该节点的对地电压,以大地作为参考节点,并规定其编号为零。 图
11、3 3- -2 2 运用节点电压法时的电力网路等值电路 对于第 i i 个节点,展开为如下形式: 河 (3 3- -2 2 ) 若米用阻抗矩阵可表示为: 展开为: 川 (3 3- -3 3 ) 在潮流计算时一般以节点电压方程进行。节点导纳矩阵与阻抗 矩阵互为逆阵,在短路计算时可直接利用导纳矩阵求逆得到阻抗矩 阵以求得短路点的短路电流。 由于实际系统中一般不给出节点电流而是节点功率, 因此将式 (3 3- -2 2 )中的节点注入电流用节点注入功率来表示为: 如果节点电压用极坐标表示,令 Ui = U严 5 = U严 rh Si=jQ = U=Ut LH j 丿=1忆,严 (3(3- -4 4
12、) 实用标准文案 精彩文档 n n 个节点电力系统的潮流方程的一般形式是 $三百七2三5码丿is)*1忆 丿 问 (3 3- -5 5) 卧耳十為呂沖百-毎-培) Q二q土诫应他-闌 $=耳何口鮒-勺)+站啲-切 X Q二返巧6 血 一如耳吨 级 ?-1 若米用直角坐标系,节点电压可表示为 导纳矩阵元素可以表示为 玲-磅十為 将上述表达式带入式(2 2- -8 8 )的右端,展开并分出实部和虚部, 便得 耳=兮工q号-马 Q *力刀橢力-亠乌弓) /-I 2二总吗巒恥)弋壬(钊十罷) z -1 可见,原来电流电压的线性方程组变换为功率和电压的非线性 方程组,式(3 3- -6 6)( 3 3-
13、 -7 7 )就是潮流计算的基本方程。它是一组共 有 n n 个非线性方程组成的复数方程组,如果把实部和虚部分开便得 到 2n2n 个实数方程,由该方程组可解出 2n2n 个运行参数。但是每一 个节点都有 P P、Q Q、U U、四个运行变量,共有 4n4n 个运行参数,所 以要事先给定其余(3(3- -6 6) (3(3- -7 7 ) 实用标准文案 精彩文档 2n2n 个参数。这就要根据节点的分类,将每个节 点的 4 4 个运行参数中的两个作为原始数据,另外两个作为待求量。 .3 潮流计算的约束条件 为了保证电力系统的正常运行,潮流问题中某些变量应满足一 定的约束条件,常用
14、的约束条件有: (1 1)所有节点电压必须满足 I I 入卩河込5 从保证电能质量和供电安全的要求来看, 电力系统的所有电气 设备都必须运行在额定电压附近。PUPU 节点的电压幅值必须按上述 条件给定。因此,这一定约束条件主要是对 PQPQ 节点而言 (2 2)所有电源节点的有功功率和无功功率必须满足 PQPQ 节点的有功功率和无功功率以及 PUPU 节点有功功率,在给 定时就必须满足此条件。因此,对平衡节点的 P P 和 Q Q 以及 PUPU 节 点的 Q Q 应按此条件进行检验。 (3)(3) 某些节点之间电压的相位差应满足 炖-即姬-孚 L L 为了保证系统运行的稳定性,要求某些输电线
15、两端的电压相位差不 超过一定的数值。因此,潮流计算可以归结为求解一组非线性方程 组,并使其解答满足一定的约束条件。如果不能满足,则应修改某 些变量。甚至修改系统的运行方式,重新进行计算。 实用标准文案 精彩文档 2、 写出功率方程(极坐标或直角坐标) 3、 写出雅克比矩阵元素的表达式或 PQ 分解法中的系数 矩阵 (2 (2 )、形成导纳矩阵: fi.46-j6.3l -5.19+J2.7 -1 27tj3 54 0 o -5.19+J277 10.53j25.09 -l.72-hj4.31 -1.72+J4.31 2+je YB- -L27+j3.54 -1.27+J131 M4j25 叩
16、-6.70tjl7.24 0 0 *1.27+j4.31 -6.70+j 17.24 9.8-j25 4 3S+j34 0 -2+j 6 0 -1.3E+J3.4 3.38-j?.45 (3)(3)、B B ,形成以及其逆矩阵。 由题可知除 1 1 为平衡节点外,其他节点均为 PQPQ 节点,系数 B B B B 阶数相同,又因对该等值网络不存在去除与有功功率和电压或无功功 率和电压大小关系较小因数的可能性, 这两个矩阵 B B B B完全相同, 它们就由导纳矩阵的虚数部分中除第一行和第二实用标准文案 精彩文档 行的各个元素组成。 由此可见,网络的节点导纳矩阵为奇异矩阵,但他的虚数部分的子 矩
17、阵 B B和 3 3,贝煜非记异矩阵,可以求逆矩阵,其逆矩阵: B1 B1 0.0768 0.0552 0.0611 0.0711 0.0552 0.1192 0.1017 0.0722 0.0611 0.1017 0.1327 0.0873 0.0711 0.0722 0.0873 0.1828 (4 4)、计算各节点有功功率不平衡量Vpi。 取 Ui 1.06,1 0U2(0)U3(0)U4(0)U 1.0;2(0)3(0)4(0)5(0)0 , ,按 下式计算各节点有功率不平衡: j n vp(0) Pi Ui(0)Uj(0) (GjjCOSjj BijSinjj) j i 25.092
18、5.09 4.314.31 4.314.31 6 6 4.314.31 25.0925.09 17.2417.24 0 0 B=B = = 4.314.31 17.2417.24 2525 3.453.45 6 6 0 0 3.453.45 9.459.45 实用标准文案 精彩文档 Vp2(0) 0.251.0*1.06( 1.59o0 2.77*sir0 1.0*1.010.63Co0 25.9ir0 1.0*1.01.72Co0 4.31Sirt) 1.0*10 1.72Co0 4.3*sir0 1.0*1.*( 2cos06sin0) 0.584 相似的可得: Vp/0) 0.9Vp4(
19、0) 0.4Vp5(0) 0.6 ; (5) 、计算各节点电压的相位角i : 由下列矩阵方程式: B 1(VP(0)/U(0) (U(0)V (0)实用标准文案 精彩文档 0.0768 0.0552 0.0611 0.0711 0.5814 1.0* (0) 2 0.0552 0.1192 0.1017 0.0722 0.9 /1.0 1.0* (0) 3 0.0611 0.1017 0.1327 0.0873 0.4 /1.0 = =1.0* (0) 4 0.0711 0.0722 0.0873 0.1823 0.6 /1.0 1.0* (0) 5 从而可得: (0) 2 0.0721 (1
20、) 2 (0) 2 0.0721 (0) 3 0.1592 (1) 3 (0) 3 0.1592 (0) 4 0.1615 ; (1) 4 (0) 4 0.1615 (0) 5 0.1679 (1) 5 (0) 5 0.1679 (6) 、计算各节点无功功率不平衡VQi。 按下列计算各节点无功功率不平衡: j n VQj(0) Qj Uj(0)U j(0) (Gjj sin cos J j i实用标准文案 精彩文档 VQ,(0) 0.25 1.0 1.06 5.19 sin( 0.07210) 2.77cos(0.07210) 1.0 1.0 (10.63sin(0)25.09cos0) 1.
21、0 1.0 1.72 sin(0.07210 0.15920)4.31 cos(0.072100.15920) 1.0 1.0 1.72 sin( 0.072100.1615)4.31 co$ 0.072100.16150) 1.0 1.0 2 sin(0.0721 0.16790)6 cos(0.0721 0.16790) 0.264267 相似可得: VQ(0) 0.46527V4(0) 0.77744VQ(0) 0.757824; (7(7)、计算各节点电压的大小 5。 由下列矩阵方程式: IIII B 1 (VQ (0) / U (0) VU (0) 实用标准文案 精彩文档 0.076
22、80.05520.0611 0.711 7.264267也(0) 0.05520.11920.10170.0722 0.465275VU(0) 0.06110.10170.13270.08730.777443VU4(0) 0.07110.07220.08730.18280.757824VU5(0) VU(0) 0.684962 VU(0) 0.590229 V4(0) 0.660490 V5(0) 0.756140 U2 U)VU(0) 0.31503U U)U(0)U4 U)VJ4(0) 0.33951U U)U(0) 0.243896 4、利用 MATLABLE 语言或其他语言编程调试 P
23、Q 分解法潮流程序 /文件输入格式:节点总数 n(包括联络节点),支路数 zls / /节点数(发电机和负荷)nb,接地电抗数 mdk,迭代精度 eps / /考虑负荷静特性标志 kk2(0 考虑),平衡节点号,优化标志(0 不优化) / /最大迭代次数 it1,支路左右节点号 izl,jzl,支路电阻 zr,电抗 zx / 实用标准文案 精彩文档 / 支路容纳 zyk,节点号 nob及标志 nobt(0-PQ,-1-PV) /发电机和负荷有功、无功 pg,qg,pl,ql / /电压 vO(pv 节点输入实际值,PQ 节点任输入一值) / /电抗节点号 idk,电抗值 dkk / #in e
24、lude math.h #i nclude stdio.h FILE *fp1, *fp2; char inn ame12, out name12; / fp1 输入数据文件指针 fp2 输出文件指针 / inname输入数据文件名 outname输出数据文件名 int n, zls, nb, mdk, mpj, bn sopt on, it1, dsd, kk2, n zls; /节点总数 n(包括联络节点) 支路数(回路数)zls 节点数 nb(发电机和负荷) #defi ne NS 2000 /最大节点数 #defi ne NS2 NS * 2 #defi ne NS4 1000 /NS
25、4、NS 必须大于 #defi ne ZS 3000 /最大支路数 #defi ne ZS2 ZS * 2 #defi ne DKS 200 /最大电抗器数 #defi ne N2 ZS * 4 #defi ne N3 ZS * 8 + NS * 4 2*zls / 实用标准文案 精彩文档 II 接地电抗数 mdk 精度 eps 平衡节点号 mpj / 节点优化(标志)bnsopton(=0 节点不优化,!=0 节点优化) II 最大迭代次数 it1 最低电压或最大功率误差节点号 dsd II 负荷静特性标志(=0 考虑负荷静特性) II 支路数(双回线算一条支路) int izlZS, jz
26、lZS, idkDKS, ydsNS, ydzNS, iyZS2; II izl,jzl,idk:分别存放左、右节点号和电抗器节点号。 II yds存放各行非零非对角元素的个数。 II ydzi是第 i 行第一个非零非对角元素的首地址, II 即在所有非零非对角元素中的次序号 II iy存放列足码。 int nnewNS4, oldNS, nobNS, nobtNS; II nn ew,old存放的是新、旧节点号。 II nnewi中为 i 对应的新号 II nob存放的是节点号。nobt存放的是节点类型,0: pq 节点,-1: pv 节点 double eps, dsm, vmin, dp
27、h, dqh, af3; II eps 迭代收敛精度,dsm 最大功率误差 II vmin:系统最低电压值。dph,dqh:系统有、无功损耗。 II af0和 af1分别是负荷有功功率、无功功率静态特性系数。 double v00; II v00:系统平均电压 ci,cj 分别作为节点 i,j 的电压相角的临时存储单元。 double zrZS, zxZS, zykZS, dkkDKS, giiNS, biiNS, ygZS2, ybZS2; 实用标准文案 精彩文档 double pgNS, qgNS, plNS, qlNS, vONS, vNS, vaNS; /支路电阻 zr 支路电抗 zx
28、输电线路充电容纳 zyk(y0/2) /接地电抗 dkk对角元实部 gii 对角元虚部 /非对角元实部 yg非对角元虚部 yb / pg,qg,pl,ql:发电机,负荷功率实、虚部 / v是电压幅值,va是电压相角。 double wNS2, kg3, bNS2; int n ewsortNS4; / newsorti存放 i 对应的老号 void in itial(); void pqflow(); void out(); void dataio(); void bn sopt(); void zlsort(i nt* nn ew); void prin to(); void prin ty
29、(); void y2(); void ya0(); void yzb(); void jdgl(int kq0); 实用标准文案 精彩文档 void bbhl(int kqO); void calc(); int iabs(i nt a); void bran ch_output(); void n ewval(double* aa); void prin tc(); void iswap(); void swap(); void prin tf2(double* aa, double* bb, int n); void calc(i nt* iu, double* u, double* d
30、i, i nt* nfd, double* b); void printi(int* aa, int n); void prin tf1(double* aa, int n); int find(int k, int a, int* z); void yzb(i nt t, i nt* iu, double* u, double* di, i nt* n fd); int isg n(i nt a, int b); void yy1(); void y3(); void n ewtoold(); int main(v oid)实用标准文案 精彩文档 in itial(); /初始化 pqflo
31、w(); /pq 潮流计算 out(); /输出节点和支路数据 return 1; int isg n(i nt a, int b) /* 本函数功能返回值为 a 的绝对值 b 的符号 */ /参数 1 提供值,参数 2 提供符号/ if (b 0) a = -a; return a; int find(int k, int a, int* z) /* 本函数查找 a中是否有 fabs(k)有则返回 0,无则返回 1 */ /参数 1 为待查找量,参数 2 待搜索数组,参数 3 返回 k 在 a中的次序号/ 实用标准文案 精彩文档 int i; for (i = 1; i = n; i +)
32、if(iabs(k) = ai) *z = i; return 1; return 0; void oldt on ew() /* 本函数将输入数据中的节点号变成从 1 开始的连续节点号 */ int i, j, k, ii1, ii2, zls2, k1, k2, k3, k4, ip; zls2 = zls + zls; for (i = 1; i = zls2; i +) n ewsorti = 0; ii1 = 0; for (i = 1; i = zls; i +) k = izli; if (!find(k, newsort, &ii2) 实用标准文案 精彩文档 ii1 +
33、; n ewsortii1 = iabs(k); k = jzli; if (!find(k, newsort, &ii2) ii1 +; n ewsortii1 = iabs(k); for (i = 1; i = ii1-1; i +) for (j = i+1; j newsortj) k = n ewsorti; n ewsorti = n ewsortj; n ewsortj = k; 实用标准文案 精彩文档 for (i = 1; i = zls; i +) k = izli; if (find(k, newsort, &ii2) izli = isgn(ii2,
34、k); else prin tf(error!); k = jzli; if (find(k, newsort, &ii2) jzli = isgn(ii2, k); else prin tf(error!); prin tf(izl%d = %d, jzl%d = %dn, i, izli, i, jzli); for (i = 1; i = nb; i +) for (j = 1; j = n; j +) if (n obi = n ewsortj) 实用标准文案 精彩文档 n obi = j; break; printf(n ob%d = %dn, i, no bi); for
35、(j = 1; j = n; j +) if (mpj = n ewsortj) mpj = j; break; /电抗器节点号转变 for (j = 1; j = mdk; j +) for (i = 1; i = n; i +) if (idkj = n ewsorti) idkj = i; break; 实用标准文案 精彩文档 void in itial() /* 本函数进行初始化工作 */ int i, k1; dataio();/输入原始数据 oldto new(); 转化为新号 if (bnsopton = 0) /节点不优化,新节点号即为老节点号。 for (i = 1; i =
36、 n; i +) oldi = i; nn ewi = i; else bnsopt(); /节点优化 实用标准文案 精彩文档 mpj = nn ewmpj;/mpj: 平衡节点 zlsort (nn ew); / sort the r,x and b for (i = 1; i = mdk; i +) k1 = idki; idki = nn ewk1; for (i = 1; i = n; i +) vi = vOO; vai = 0.0; / 所有节点的电压幅值初值都为 1.000(v00),电压相角初值都为 0 / excha nge the node before and after
37、 sort for (i = 1; i = n; i +) ydsi = 0; / the immediate for (i = 1; i = nb; i +) k1 = nnewn obi; ydsk1 = nobti; for (i = 1; i = n; i +) n obti = ydsi; 实用标准文案 精彩文档 n ewval(pg); n ewval(qg); n ewval(pl); n ewval(ql); n ewval(vO); for (i = 1; i = n; i +) / no bt is type of node if (n obti = -1) vi = v0
38、i; / n ob is serials nu mbe nobt = -1: pv 节点,v0存放的是最后一个节点数据, /对于 pv 节点,即为该点应维持的电压值。 nobt = 0: pq 节点,v0存放的是最后一个节点数据, /对于 pq 节点,即为系统平均电压值。 prin to(); /输出 af、vOO 和节点排序后的支路、节点和 /接地电抗数据(仅仅查看中间结果) yaO(); 获得 yds、ydz、列足码 iy。( P407) void prin to() /* 输出 af、v00 和节点排序后的支路、节点和接地电抗数据 */ int i; 实用标准文案 精彩文档 fprin
39、tf(fp2, n *AF AND V0 *n) fprin tf(fp2, n %7.3f%7.3f%7.3fn, af0, af1, v00); prin tc(-, 78); fprin tf(fp2, nn *ZLB*n) for (i = 1; i = zls; i +) fprin tf(fp2, n); fprin tf(fp2. %8d%8d%8d%8d, izli, jzli, oldabs(izli), oldabs(jzli); fprintf(fp2, %9.4f%9.4f%9.4f, zri, zxi, zyki); printc(-, 78); fprin tf(f
40、p2, nn*BUS*n); for (i = 1; i = nb; i +) fprin tf(fp2, n); fprintf(fp2, %8d%8d%8d, nobi,oldnobi, nobti); fprin tf(fp2, %9.4f%9.4f%9.4f%9.4f%9.4f, pgi, qgi, pli, qli, v0i); prin tc(-, 78); fprin tf(fp2,nn*DKK*n); for (i = 1; i = mdk; i +) 实用标准文案 精彩文档 fprin tf(fp2, n); fprintf(fp2, %8d%8d%7.4f, idki, o
41、ldidki, dkki); void dataio() II* 系统数据初始化 */ int i;实用标准文案 for (i = 1; i = nb; i +) 精彩文档 afO = 0.6; af1 = 2.0;/af0 和 af1分别是负荷有功功率、无功功率静态特性系数。 v00 = 1.000;/系统平均电压 prin tf(nplease in put the n ame of data file n); sea nf(%s, inn ame); fp1 = fope n(i nn ame, r); prin tf(nplease output the n ame of data f
42、ile n); sea nf(%s, out name); fp2 = fope n(outn ame, w); fseanf(fp1, %d %d %d %d, &n, &zls, &nb, &mdk); / the nu mber of node ,bra nches, node fseanf(fp1, %lf %d %d %d %d, &eps, &kk2, &mpj, &bnsopton, &it1); /preeisi on, swing no de,sort the no de,iterati on nu mb
43、ers for (i = 1; i = zls; i +) fscanf(fp1, %d %d, &izli, &jzli); fscan f(fp1, %lf %lf %lf , &zri, & zxi, &zyki); 实用标准文案 精彩文档 fscanf(fp1, %d %d, &nobi, &nobti); fscan f(fp1, %lf %lf %lf %lf %lf, & pgi, & qgi, & pli, &qli, &v0i); for (i = 1; i = mdk; i +)
44、 fscan f(fp1, %d %lf, & idki, & dkki); fclose(fp1); void pqflow() int kqO, iu1N2, nfd1NS, iu2N2, nfd2NS; int i, t; double u1N2, u2N2, di1NS, di2NS; yy1(); yzb(0, iu1, u1, di1, nfd1); /form the B matrix of P-0 iteration y2(); yzb(1, iu2, u2, di2, nfd2); /form the B matrix of Q-V iteration实用标准
45、文案 for (i = 1; i eps) kgkq0=1; if (kq0 = 0) calc(iu1, u1, di1, n fd1, b); if (kq0 = 1) calc(iu2, u2, di2, nfd2, b); if(kq0 = 0 )实用标准文案 精彩文档 vai = vai - bi / vOO; else vi = vi - bi; else kgkqO = 0; if(kqO = 0) kqO = 1; else kqO = O; t +; if(t it1) break; while(fabs(dsm) eps) | (kgkqO != 0); fprin tf(
46、fp2, n%s%d, times = , t); void out() 实用标准文案 for (i = 1; i = nb; i +) 精彩文档 /* 本函数输出节点和支路数据*/ zlsort(old); / recover the data if sorted / n ewtoold(); no de_output(); / node data bran ch_output(); /branch data prin tc(-, 78); prin tc(*, 78); fprin tf(fp2, n); void n ewval(double* aa) /* 本函数将旧号换成新号 */
47、int i, k1; for (i = 1; i = n; i +) bi = 0.0; k1 = nnewn obi; bk1 = aai; for (i = 1; i = n; i +) 实用标准文案 精彩文档 aai = bi; void yzb(i nt t, i nt* iu, double* u, double* di, i nt* nfd) /* 本函数求因子表 */ /参数 1 为标志(t=0 求 B,t=1 求 B)/ /参数 2 因子表上三角矩阵非零非对角元素的列足码 /参数 3 因子表上三角矩阵非零非对角元素的数值 /参数 4 因子表上三角矩阵对角元素 /参数 5 因子表
48、上三角各行非零元素个数 int i, j, k, i1, i2; int jj, jj1, jj2, im, x, fdNS; double ai, bNS; nfd1 = 1;实用标准文案 for (j = 1; j = n; j +) 精彩文档 for (i = 1; i = n; i +) nobt 存放的是节点类型,0: pq 节点,-1: pv 节点。 if (t != 1) |(nobti != -1) & i != mpj) / -| / 1 for (j = i + 1; j = n; j +) / 1 bj = 0.0; / 1 bi = biii; / 1 if (
49、kk2 = 0) & (t = 1) & (nobti != -1)/ 存在(t = 1) 的情况,不多余。 bi = bi + af1 * qli / v0i / v0i;/af1 11 = ydzi; 12 = ydzi + 1 - 1; for (j = i1; j = i2; j +) k = iyj; bk = ybj; bmpj = 0.0; if (t = 1) if (no btj = -1) 实用标准文案 dii = 1.0 / bi; 精彩文档 bj = 0.0; i1 = i - 1; for (im = 1; im = i1; im +) jj1 = n
50、 fdim; jj2 = nfdim + 1 - 1; for (jj = jj1; jj = jj2; jj +) if(iujj = i) ai = ujj / diim; for(k = jj; k = jj2; k +) j = iuk; bj = bj - ai * uk; break; x = n fdi;实用标准文案 n fdi+1 = n fdi + fdi; 精彩文档 ai = dii; k = 0; i1 = i + 1; for (j = i1; j 1.0e-15) ux = bj * ai; iux = j; k+; x+; fdi = k; else fdi = 0
51、; dii = 0.0; fprin tf(fp2, n *U*); 实用标准文案 精彩文档 for (i = 1; i = x; i +) if(i % 3 = 1) fprin tf(fp2, n); fprintf(fp2, %10.5f%8i, ui, iui); fprin tf(fp2, n * DI* *); prin tf1(di, n); void prin tf1(double* aa, int n) /* 本函数输出 aai,i=1-n */ int i; for (i = 1; i = n; i +) if(i % 5 = 1) fprin tf(fp2, n); fp
52、rin tf(fp2, %9.5f, aai);fprin tf(fp2, nn); 实用标准文案 bi = bi * dii; 精彩文档 void calc(i nt* iu, double* u, double* di, i nt* nfd, double* b) /* 本函数利用因子表解线形方程组。(P417 图 F1-9) */ double bi; int i, j, k, i1, i2; for (i = 1; i = n; i +) / 前代过程 bi = bi; 11 = n fdi; 12 = n fdi + 1; for (j = i1; j = 1; i -) / 回代过
53、程 bi = bi; 11 = n fdi; 12 = n fdi + 1 - 1; for (j = i2; j = i1; j -) k = iuj; bi = bi - bk * uj; bi = bi; void zlsort(i nt* nn ew) Illi 。 II* 本函数进行支路数据排序 */ II 小节点号放左边,大节点号放右边 II 左右皆按从小到大顺序排列/ int ip, k1, k2, k3, k4; int i, j; 实用标准文案 精彩文档 for (i = 1; i k2) izli = k4; jzli = k3; for (i = 1; i = zls -
54、 1; i +) ip = i;实用标准文案 swap(&zyki, &zykip); 精彩文档 k1 = iabs(izli); k3 = iabs(jzli); for (j = i + 1; j = zls; j +) k2 = iabs(izlj); k4 = iabs(jzlj); if(k2 k1 | (k2 = k1 & k4 k3) ip = j; k1 = k2; k3 = k4; if(i != ip) isw ap(&i zli, & izlip); iswap(&jzli, &jzlip); swap(&z
55、ri, & zrip); swap(&zxi, &zxip); void bn sopt() 实用标准文案 精彩文档 /* 节点优化 */ int ii1, ii2, zls2, no max; int i, j, l, k1, k; int temp; zls2 = zls + zls; for (i = 1; i = zls2; i +) oldi = nnewi = 0;/ 先清零。由此可知:NS4、NS 必须大于 2*zls。 for (i = 1; i = zls; i +) oldi = iabs(izli); oldi + zls = iabs(jzli)
56、; /变压器节点号由正变负,old前 zls 个为左节点号,后 zls 个为右节点号。 for (i = 1; i = zls2; i +)/ 冒泡法排序。 k1 = i + 1; for (j = k1; j oldj) isw ap(&oldi, & oldj); /交换整数 oldi、oldj o小节点号排在支路左侧 实用标准文案 精彩文档 即是最大节点号。lee30.dat - 30 l = 1; for (i = 1; i = n; i +) ii1 = oldl; oldi = ii1; for (j = l; j = zls2; j +) ii2 = oldj;
57、if (ii1 != ii2) l = j; break; nn ewi +; no max = oldzls2; no max 实用标准文案 精彩文档 for (i = 1; i = n - 1; i +) for (j = i + 1; j = n; j +) if (nn ewj = nn ewi) if (nn ewj != nn ewi) | (oldj oldi) isw ap(&oldi, & oldj); iswap(&nn ewi, &nn ewj); for (i = 1; i = no max; i +) nn ewi = 0; for (
58、i = 1; i = n; i +) j = oldi; nn ewj = i; void yaO() /( P407 ) /* 本函数获得 yds、ydz、列足码 iy */ int i, j, I, II; 实用标准文案 ydz1 = 1; 精彩文档 for (i = 1; i = n; i +) ydsi=0; / yds存放各行非零非对角元素的个数。 II = 1; for (I = 1; I = zIs; I +) i = iabs(izll); j = iabs(jzll); if (i = j) con ti nue; iyll = j; if(i != iabs(izll +
59、1) | (j != iabs(jzll + 1) II +; /II 统计总支路数(双回线算一条支路) ydsi +; nzls = II - 1; /总支路数(双回线算一条支路)实用标准文案 精彩文档 for (i = 1; i = n - 1; i +) ydzi + 1 = ydsi + ydzi; / 由 yds得 ydz。 II ydzi是第 i 行第一个非零非对角元素的首地址, /即在所有非零非对角元素中的顺序号。 prin ti(ydz, n); fprin tf(fp2, n *YDS*); prin ti(yds, n); fprin tf(fp2, nn); void p
60、rin ti(i nt* aa, int n) /* 本函数输出 aa1-aan的值 */ int i; for(i = 1; i = n; i +) if(i % 10 = 1) fprin tf(fp2, n); fprintf(fp2, %5d, aai); fprin tf(fp2, n * YDZ* * ); 实用标准文案 ygi = 0.0; 精彩文档 void y2() /* 本函数形成节点导纳阵,一次形成,不分 intj1; double r, x, yk, zf, gij, bij; int i, j, i1, l, ll; for (i = 1; i = n ; i +) giii = 0.0; biii = 0.0; /导纳阵对角元(与节点一一对应)先清零 for (i = 1; i = mdk; i +) j = idki; biij = -1.0 / dkki; /计算接地支路导纳,只影响导纳阵对角元 for (i = 1; i = zls; i +) B和 B */ 伯导纳) 实用标准文案 giii =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YY/T 1833.5-2024人工智能医疗器械质量要求和评价第5部分:预训练模型
- 贵州财经大学《创业团队管理》2023-2024学年第一学期期末试卷
- 2025年甘肃省建筑安全员C证考试题库
- 2025年河南省安全员《C证》考试题库
- 贵阳学院《山水写生》2023-2024学年第一学期期末试卷
- 广州应用科技学院《游戏制作与开发》2023-2024学年第一学期期末试卷
- 广州铁路职业技术学院《建筑力学(上)》2023-2024学年第一学期期末试卷
- 2025四川省安全员-C证考试(专职安全员)题库附答案
- 2025云南省建筑安全员《C证》考试题库及答案
- 6.4.2向量在物理中的应用举例【超级课堂】2022-2023学年高一数学教材配套教学精-品课件+分层练习人教A版2019必修第二册
- 2024年电商平台入驻服务合同
- 2024年度政府采购代理服务合同-医疗卫生设备采购项目3篇
- GJB9001C版标准培训课件
- 船舶防火与灭火(课件)
- 七、监理工作重点、难点分析及对策
- 面膜中蓝铜肽经皮渗透性和改善皮肤衰老作用研究
- 湖北省荆州市八县市2023-2024学年高一上学期1月期末考试 化学 含解析
- 声光影的内心感动:电影视听语言学习通超星期末考试答案章节答案2024年
- 道路下穿高速公路安全安全评价
- 紧密型县域医共体信息化建设指南及评价标准
- 盘拉机操作手册新
评论
0/150
提交评论