⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nflow_sub.cpp

📁 电力系统潮流程序adsfasdfasfd
💻 CPP
📖 第 1 页 / 共 5 页
字号:
#include "../inc/map_vector_ext.h"//0910
#include "../inc/map_struct_ext.h"//0910
#include "../inc/map_net_ext.h"//0910
#include "../inc/subs_define.h"//0910
#include "../inc/map_app_flow_api.h"//0910
#include "../inc/map_app_flow_ext.h"//0910


int pf_bus(int NOWISLAND)
{

  int I,J,JSQ;
  float VI,VJ,AN,A8,B8,C8,D8,AI,BI,CI,DI;


  for(I=0;I<lv_bus;I++)
  {
//		printf("a_pu=%f v_pu=%f\n",map_bus[I].a_pu,map_bus[I].v_pu);
	  map_bus[I].Pi=0.0;
	  map_bus[I].Qi=0.0;
  }

  for(I=0;I<lv_bus;I++)
  {
	  VI=map_bus[I].v_pu*map_bus[I].v_pu;
	  map_bus[I].Pi=map_bus[I].Pi+Ym[I].g.val*VI;
	  map_bus[I].Qi=map_bus[I].Qi-Ym[I].b.val*VI;
//		printf("111:calc_bus_inj:   VI=%f  Pi=%f  Qi=%f\n",VI,map_bus[I].Pi,map_bus[I].Qi);
	
	  for(JSQ=0;JSQ<Ym[I].lv_nz;JSQ++)
	  {
		  J=Ym[I].nz[JSQ].j;
		  VJ=map_bus[I].v_pu*map_bus[J].v_pu;
		  AN=map_bus[I].a_pu-map_bus[J].a_pu;
		  A8=AN*(1.0-AN*AN/6.0);
		  B8=1.0-AN*AN*(1.0-AN*AN/12.0)/2.0;
		  C8=VJ*Ym[I].nz[JSQ].g.val;
		  D8=VJ*Ym[I].nz[JSQ].b.val;
		
		  AI=B8*C8;
		  BI=A8*D8;
		  CI=A8*C8;
		  DI=B8*D8;
//			printf("100:calc_bus_inj:   A1_pu=%f  A2_pu=%f \n",map_bus[I].a_pu,map_bus[J].a_pu);
//			printf("101:calc_bus_inj:   A8=%f  B8=%f  C8=%f  D8=%f\n",A8,B8,C8,D8);
//			printf("102:calc_bus_inj:   AI=%f  BI=%f  CI=%f  DI=%f\n",AI,BI,CI,DI);
		
		  map_bus[I].Pi=map_bus[I].Pi+AI+BI;
		  map_bus[I].Qi=map_bus[I].Qi+CI-DI;
		  map_bus[J].Pi=map_bus[J].Pi+AI-BI;
		  map_bus[J].Qi=map_bus[J].Qi-CI-DI;
	
	  }
//		printf("211:calc_bus_inj:   bus_no=%d  Pi=%f  Qi=%f\n",I+1,map_bus[I].Pi,map_bus[I].Qi);
  }

#ifdef _DEBUG
//  for(I=0;I<lv_bus;I++)
//  {
//		printf("211:calc_bus_inj:   bus_no=%d  Pi=%f  Qi=%f,dlt_p==%f,dlt_q==%f\n",I+1,map_bus[I].Pi,map_bus[I].Qi,map_bus[I].Pi-map_bs[map_bus[I].ibs].p/100.0,map_bus[I].Qi-map_bs[map_bus[I].ibs].q/100.0);
//  }
#endif
	return(0);
}

int pf_branch(int NOWISLAND)
{//注意要用支路参数计算,不要用节点导纳矩阵计算(可能有支路并联情况,如双回线!)
//变压器I----J(K:1==R)	
	int i1;
	int I,J;
	float AN,A8,B8;
	float Vi,Vj;
	float T1;
	
	for(i1=0;i1<lv_map_AClnbrh;i1++)
	{
	 	if(map_nd[map_AClnbrh[i1].ind].ibs>0) 
	 	{
		 	if(map_bs[map_nd[map_AClnbrh[i1].ind].ibs-1].AC_island==NOWISLAND)
		 	{
	   	 	I=map_bs[map_nd[map_AClnbrh[i1].ind].ibs-1].ibus;
	   	 	J=map_bs[map_nd[map_AClnbrh[i1].znd].ibs-1].ibus;
				Vi=map_bus[I].v_pu;
				Vj=map_bus[J].v_pu;
					
	    	AN=map_bus[I].a_pu-map_bus[J].a_pu;//节点i和j的角度差: Oij
	    	A8=AN*(1.0-AN*AN/6.0);//sinOij
	    	B8=1.0-AN*AN*(1.0-AN*AN/12.0)/2.0;//cosOij

	    	if(map_AClnbrh[i1].iln2>-1&&map_AClnbrh[i1].iln2<lv_map_ACln2)
	    	{
	   	 		map_ACln2[map_AClnbrh[i1].iln2].Pi=Vi*Vi*map_AClnbrh[i1].g-Vi*Vj*(map_AClnbrh[i1].g*B8+map_AClnbrh[i1].b*A8);
	   	 		map_ACln2[map_AClnbrh[i1].iln2].Qi=-Vi*Vi*(0.5*map_AClnbrh[i1].bch+map_AClnbrh[i1].b)-Vi*Vj*(map_AClnbrh[i1].g*A8-map_AClnbrh[i1].b*B8);
	   	 		map_ACln2[map_AClnbrh[i1].iln2].I=pf_i(map_ACln2[map_AClnbrh[i1].iln2].Pi,map_ACln2[map_AClnbrh[i1].iln2].Qi,Vi);
	   	 	}
	   	 	
	    	if(map_AClnbrh[i1].zln2>-1&&map_AClnbrh[i1].zln2<lv_map_ACln2)
	    	{
		   	 	map_ACln2[map_AClnbrh[i1].zln2].Pi=Vj*Vj*map_AClnbrh[i1].g-Vi*Vj*(map_AClnbrh[i1].g*B8-map_AClnbrh[i1].b*A8);
		   	 	map_ACln2[map_AClnbrh[i1].zln2].Qi=-Vj*Vj*(0.5*map_AClnbrh[i1].bch+map_AClnbrh[i1].b)+Vi*Vj*(map_AClnbrh[i1].g*A8+map_AClnbrh[i1].b*B8);
	   	 		map_ACln2[map_AClnbrh[i1].zln2].I=pf_i(map_ACln2[map_AClnbrh[i1].zln2].Pi,map_ACln2[map_AClnbrh[i1].zln2].Qi,Vj);
				}
	  	}
	 	}
	 	else
	 	{
	    	if(map_AClnbrh[i1].iln2>-1&&map_AClnbrh[i1].iln2<lv_map_ACln2)
	    	{
	   	 		map_ACln2[map_AClnbrh[i1].iln2].Pi=map_ACln2[map_AClnbrh[i1].iln2].p/100.0;
	   	 		map_ACln2[map_AClnbrh[i1].iln2].Qi=map_ACln2[map_AClnbrh[i1].iln2].q/100.0;
	   	 		map_ACln2[map_AClnbrh[i1].iln2].I=map_ACln2[map_AClnbrh[i1].iln2].i*1.732*map_vt[map_vl[map_nd[map_AClnbrh[I].ind].vl_no].vt_no].vbase/1000.0/100.0;
	   	 	}
	   	 	
	    	if(map_AClnbrh[i1].zln2>-1&&map_AClnbrh[i1].zln2<lv_map_ACln2)
	    	{
		   	 	map_ACln2[map_AClnbrh[i1].zln2].Pi=map_ACln2[map_AClnbrh[i1].zln2].p/100.0;
		   	 	map_ACln2[map_AClnbrh[i1].zln2].Qi=map_ACln2[map_AClnbrh[i1].zln2].q/100.0;
	   	 		map_ACln2[map_AClnbrh[i1].zln2].I=map_ACln2[map_AClnbrh[i1].zln2].i*1.732*map_vt[map_vl[map_nd[map_AClnbrh[I].znd].vl_no].vt_no].vbase/1000.0/100.0;
				}
	 	
	 	}
	}
	
	
	for(i1=0;i1<lv_map_ACxfbrh;i1++)
	{//K:1模型,变比在I侧,高等电力网络p12

		printf("4241:st_name==%s,xf_name==%s,ibs==%d,ind==%d,	znd==%d\n",map_st[map_ACxf[map_ACxfbrh[i1].ixf].st_no].name,map_ACxf[map_ACxfbrh[i1].ixf].name,map_nd[map_ACxfbrh[i1].ind].ibs,map_ACxfbrh[i1].ind,map_ACxfbrh[i1].znd);

	 	if(map_nd[map_ACxfbrh[i1].ind].ibs>0) 
	 	{
	 		
     	if(map_bs[map_nd[map_ACxfbrh[i1].ind].ibs-1].AC_island==NOWISLAND)
     	{
		   	I=map_bs[map_nd[map_ACxfbrh[i1].ind].ibs-1].ibus;
		   	J=map_bs[map_nd[map_ACxfbrh[i1].znd].ibs-1].ibus;

				Vi=map_bus[I].v_pu;
				Vj=map_bus[J].v_pu;
				
	    	AN=map_bus[I].a_pu-map_bus[J].a_pu;//节点i和j的角度差: Oij
	    	A8=AN*(1.0-AN*AN/6.0);//sinOij
	    	B8=1.0-AN*AN*(1.0-AN*AN/12.0)/2.0;//cosOij
				T1=1.0/map_ACxfbrh[i1].k;
	
	    	if(map_ACxfbrh[i1].ixf>-1&&map_ACxfbrh[i1].ixf<lv_map_ACxf)
	    	{
	   	 		map_ACxf[map_ACxfbrh[i1].ixf].Pi=Vi*Vi*map_ACxfbrh[i1].g*T1*T1-Vi*Vj*(map_ACxfbrh[i1].g*B8+map_ACxfbrh[i1].b*A8)*T1;
	   	 		map_ACxf[map_ACxfbrh[i1].ixf].Qi=-Vi*Vi*map_ACxfbrh[i1].b*T1*T1-Vi*Vj*(map_ACxfbrh[i1].g*A8-map_ACxfbrh[i1].b*B8)*T1;
//	   	 		printf("-Vi*Vi*b/k/k-ViVj*(g*sin-b*cos)/K)==-%f*%f*%f*%f*%f-%f*%f*(%f*%f-%f*%f)*%f\n",Vi,Vi,map_ACxfbrh[i1].b,T1,T1,Vi,Vj,map_ACxfbrh[i1].g,A8,map_ACxfbrh[i1].b,B8,T1);
//					if(fabs(map_ACxf[map_ACxfbrh[i1].ixf].Pi)>0.2||fabs(map_ACxf[map_ACxfbrh[i1].ixf].Qi)>0.2)
//					{
//						printf("4242:st_name==%s,xf_name==%s,	g==%f,	b==%f,	k==%f\n",map_st[map_ACxf[map_ACxfbrh[i1].ixf].st_no].name,map_ACxf[map_ACxfbrh[i1].ixf].name,map_ACxfbrh[i1].g,map_ACxfbrh[i1].b,map_ACxfbrh[i1].k);
//						printf("4244:i_xf_Pi==%f,i_xf_Qi==%f\n",map_ACxf[map_ACxfbrh[i1].ixf].Pi,map_ACxf[map_ACxfbrh[i1].ixf].Qi);
//	   	 		}
	   	 		map_ACxf[map_ACxfbrh[i1].ixf].I=pf_i(map_ACxf[map_ACxfbrh[i1].ixf].Pi,map_ACxf[map_ACxfbrh[i1].ixf].Qi,Vi);
	   	 	}
	   	
	    	if(map_ACxfbrh[i1].zxf>-1&&map_ACxfbrh[i1].zxf<lv_map_ACxf)
	    	{
		   	 	map_ACxf[map_ACxfbrh[i1].zxf].Pi=Vj*Vj*map_ACxfbrh[i1].g-Vi*Vj*(map_ACxfbrh[i1].g*B8-map_ACxfbrh[i1].b*A8)*T1;
		   	 	map_ACxf[map_ACxfbrh[i1].zxf].Qi=-Vj*Vj*map_ACxfbrh[i1].b+Vi*Vj*(map_ACxfbrh[i1].g*A8+map_ACxfbrh[i1].b*B8)*T1;
	   	 		map_ACxf[map_ACxfbrh[i1].zxf].I=pf_i(map_ACxf[map_ACxfbrh[i1].zxf].Pi,map_ACxf[map_ACxfbrh[i1].zxf].Qi,Vj);

//					if(fabs(map_ACxf[map_ACxfbrh[i1].zxf].Pi)>0.2||fabs(map_ACxf[map_ACxfbrh[i1].zxf].Qi)>0.2)
//					{
//						printf("424:st_name==%s,xf_name==%s,	g==%f,	b==%f,	k==%f\n",map_st[map_ACxf[map_ACxfbrh[i1].ixf].st_no].name,map_ACxf[map_ACxfbrh[i1].ixf].name,map_ACxfbrh[i1].g,map_ACxfbrh[i1].b,map_ACxfbrh[i1].k);
//						printf("4244:z_xf_Pi==%f,z_xf_Qi==%f\n",map_ACxf[map_ACxfbrh[i1].ixf].Pi,map_ACxf[map_ACxfbrh[i1].ixf].Qi);
//					}
				}
	  
	  	}
	 	}
	 	else
	 	{
	  	if(map_ACxfbrh[i1].ixf>-1&&map_ACxfbrh[i1].ixf<lv_map_ACxf)
			{	
	   	 	map_ACxf[map_ACxfbrh[i1].ixf].Pi=map_ACxf[map_ACxfbrh[i1].ixf].p/100.0;
	   	 	map_ACxf[map_ACxfbrh[i1].ixf].Qi=map_ACxf[map_ACxfbrh[i1].ixf].q/100.0;
	   	 	map_ACxf[map_ACxfbrh[i1].ixf].I=map_ACxf[map_ACxfbrh[i1].ixf].i*1.732*map_vt[map_vl[map_nd[map_ACxfbrh[I].ind].vl_no].vt_no].vbase/1000.0/100.0;
			
			}
	  	if(map_ACxfbrh[i1].zxf>-1&&map_ACxfbrh[i1].zxf<lv_map_ACxf)
			{	
	   	 	map_ACxf[map_ACxfbrh[i1].zxf].Pi=map_ACxf[map_ACxfbrh[i1].zxf].p/100.0;
	   	 	map_ACxf[map_ACxfbrh[i1].zxf].Qi=map_ACxf[map_ACxfbrh[i1].zxf].q/100.0;
 	   	 	map_ACxf[map_ACxfbrh[i1].zxf].I=map_ACxf[map_ACxfbrh[i1].zxf].i*1.732*map_vt[map_vl[map_nd[map_ACxfbrh[I].znd].vl_no].vt_no].vbase/1000.0/100.0;
			}
	 	
	 	}
	}

	//
	for(I=0;I<lv_map_AClnbrh;I++)
	{
		if(map_AClnbrh[I].iln2>-1&&map_bs[map_nd[map_AClnbrh[I].ind].ibs-1].AC_island==NOWISLAND)
		{
			if(fabs(map_ACln2[map_AClnbrh[I].iln2].Pi)<0.00001)
			{
				map_ACln2[map_AClnbrh[I].iln2].Pi=0.0;
			}
			
			if(fabs(map_ACln2[map_AClnbrh[I].iln2].Qi)<0.00001)
			{
				map_ACln2[map_AClnbrh[I].iln2].Qi=0.0;
			}
			
			if(fabs(map_ACln2[map_AClnbrh[I].iln2].Qi)<0.00001&&fabs(map_ACln2[map_AClnbrh[I].iln2].Pi)<0.00001)
			{
				map_ACln2[map_AClnbrh[I].iln2].I=0.0;
			}
			map_ACln2[map_AClnbrh[I].iln2].i_ym=map_ACln2[map_AClnbrh[I].iln2].I*100.0*1000.0/(map_vt[map_vl[map_bs[map_nd[map_AClnbrh[I].ind].ibs-1].vl_no].vt_no].vbase*1.732);
	
		}
		if(map_AClnbrh[I].zln2>-1&&map_bs[map_nd[map_AClnbrh[I].znd].ibs-1].AC_island==NOWISLAND)
		{
			if(fabs(map_ACln2[map_AClnbrh[I].zln2].Pi)<0.00001)
			{
				map_ACln2[map_AClnbrh[I].zln2].Pi=0.0;
			}
			
			if(fabs(map_ACln2[map_AClnbrh[I].zln2].Qi)<0.00001)
			{
				map_ACln2[map_AClnbrh[I].zln2].Qi=0.0;
			}
			if(fabs(map_ACln2[map_AClnbrh[I].zln2].Qi)<0.00001&&fabs(map_ACln2[map_AClnbrh[I].zln2].Pi)<0.00001)
			{
				map_ACln2[map_AClnbrh[I].zln2].I=0.0;
			}
			map_ACln2[map_AClnbrh[I].zln2].i_ym=map_ACln2[map_AClnbrh[I].zln2].I*100.0*1000.0/(map_vt[map_vl[map_bs[map_nd[map_AClnbrh[I].znd].ibs-1].vl_no].vt_no].vbase*1.732);
		}
	}	
	for(I=0;I<lv_map_ACxfbrh;I++)
	{
		if(map_ACxfbrh[I].ixf>-1&&map_bs[map_nd[map_ACxfbrh[I].ind].ibs-1].AC_island==NOWISLAND)
		{
			if(fabs(map_ACxf[map_ACxfbrh[I].ixf].Pi)<0.00001)
			{
				map_ACxf[map_ACxfbrh[I].ixf].Pi=0.0;
			}
			
			if(fabs(map_ACxf[map_ACxfbrh[I].ixf].Qi)<0.00001)
			{
				map_ACxf[map_ACxfbrh[I].ixf].Qi=0.0;
			}
			if(fabs(map_ACxf[map_ACxfbrh[I].ixf].Pi)<0.00001&&fabs(map_ACxf[map_ACxfbrh[I].ixf].Qi)<0.00001)
			{
				map_ACxf[map_ACxfbrh[I].ixf].I=0.0;
			}
			map_ACxf[map_ACxfbrh[I].ixf].i_ym=map_ACxf[map_ACxfbrh[I].ixf].I*100.0*1000.0/(map_vt[map_vl[map_bs[map_nd[map_ACxfbrh[I].ind].ibs-1].vl_no].vt_no].vbase*1.732);
		}	
		
		if(map_ACxfbrh[I].zxf>-1&&map_bs[map_nd[map_ACxfbrh[I].znd].ibs-1].AC_island==NOWISLAND)
		{
			if(fabs(map_ACxf[map_ACxfbrh[I].zxf].Pi)<0.00001)
			{
				map_ACxf[map_ACxfbrh[I].zxf].Pi=0.0;
			}
			
			if(fabs(map_ACxf[map_ACxfbrh[I].zxf].Qi)<0.00001)
			{
				map_ACxf[map_ACxfbrh[I].zxf].Qi=0.0;
			}
			if(fabs(map_ACxf[map_ACxfbrh[I].zxf].Pi)<0.00001&&fabs(map_ACxf[map_ACxfbrh[I].zxf].Qi)<0.00001)
			{
				map_ACxf[map_ACxfbrh[I].zxf].I=0.0;
			}
			map_ACxf[map_ACxfbrh[I].zxf].i_ym=map_ACxf[map_ACxfbrh[I].zxf].I*100.0*1000.0/(map_vt[map_vl[map_bs[map_nd[map_ACxfbrh[I].znd].ibs-1].vl_no].vt_no].vbase*1.732);
		}	
	}
	
	return 1;
}	

int	pf_inj(int NOWISLAND)
{
	int I;
	
	for(I=0;I<lv_map_ACld;I++)
	{
		if(map_bs[map_nd[map_ACld[I].ind].ibs-1].AC_island==NOWISLAND)
		{
			map_ACld[I].I=pf_i(map_ACld[I].Pi,map_ACld[I].Qi,map_bus[map_bs[map_nd[map_ACld[I].ind].ibs-1].ibus].v_pu);
			map_ACld[I].i_ym=map_ACld[I].I*100.0*1000.0/(map_vt[map_vl[map_bs[map_nd[map_ACld[I].ind].ibs-1].vl_no].vt_no].vbase*1.732);
		}
	}

	for(I=0;I<lv_map_ACun;I++)
	{
		if(map_bs[map_nd[map_ACun[I].ind].ibs-1].AC_island==NOWISLAND)
		{
			map_ACun[I].I=pf_i(map_ACun[I].Pi,map_ACun[I].Qi,map_bus[map_bs[map_nd[map_ACun[I].ind].ibs-1].ibus].v_pu);
			map_ACun[I].i_ym=map_ACun[I].I*100.0*1000.0/(map_vt[map_vl[map_bs[map_nd[map_ACun[I].ind].ibs-1].vl_no].vt_no].vbase*1.732);
		}
	}

	//eqq_ld==>ln2/xf
	for(I=0;I<lv_map_ACld;I++)
	{
		if(map_ACld[I].eqq_dev_type==1)
		{//acln2
			map_ACln2[map_ACld[I].eqq_dev_no].Pi=map_ACld[I].Pi;
			map_ACln2[map_ACld[I].eqq_dev_no].Qi=map_ACld[I].Qi;
			map_ACln2[map_ACld[I].eqq_dev_no].I=map_ACld[I].I;
			map_ACln2[map_ACld[I].eqq_dev_no].i_ym=map_ACld[I].i_ym;
		}
		else if(map_ACld[I].eqq_dev_type==2)
		{//acxf
			map_ACxf[map_ACld[I].eqq_dev_no].Pi=map_ACld[I].Pi;
			map_ACxf[map_ACld[I].eqq_dev_no].Qi=map_ACld[I].Qi;
			map_ACxf[map_ACld[I].eqq_dev_no].I=map_ACld[I].I;
			map_ACxf[map_ACld[I].eqq_dev_no].i_ym=map_ACld[I].i_ym;
		}
	
	}	
	return 1;
}

float  pf_i(float p,float q,float v)
{
	float s=sqrt(p*p+q*q);
	if(fabs(v)>0.001)
	{
		return s/v;
	}	
	return 0;
}
int pf_busordering(int NOWISLAND)
{
	int BSI,BSJ;
	int IBS[100],IV[5000],I;

	for(I=0;I<lv_bs;I++)
	{
		IV[I]=0;
	}

	for(I=0;I<lv_map_AClnbrh;I++)
	{
	 	if(map_nd[map_AClnbrh[I].ind].ibs>-1) 
	 	{
//	 		if(map_nd[map_AClnbrh[I].ind].ibs==300)printf("zzzi: acln_sub=%d   ac_island=%d\n",I+1,map_bs[map_nd[map_AClnbrh[I].ind].ibs-1].AC_island); 
//	 		if(map_nd[map_AClnbrh[I].znd].ibs==300)printf("zzzz: acln_sub=%d   ac_island=%d\n",I+1,map_bs[map_nd[map_AClnbrh[I].ind].ibs-1].AC_island); 
     	if(map_bs[map_nd[map_AClnbrh[I].ind].ibs-1].AC_island==NOWISLAND)
     	{
		   	BSI=map_nd[map_AClnbrh[I].ind].ibs-1;
		   	BSJ=map_nd[map_AClnbrh[I].znd].ibs-1;
		   	IV[BSI]=IV[BSI]+1;
		   	IV[BSJ]=IV[BSJ]+1;
//			 printf("9lnbrh=%d   ibs=%d  zbs=%d   r=%f   x=%f   bch=%f  g=%f  b=%f\n",I+1,BSI,BSJ,map_AClnbrh[I].r,map_AClnbrh[I].x,map_AClnbrh[I].bch,map_AClnbrh[I].g,map_AClnbrh[I].b);
	   	}
	 	}
	}

	for(I=0;I<lv_map_ACxfbrh;I++)
	{
	 if(map_nd[map_ACxfbrh[I].ind].ibs>-1) 
	 {
//	 		if(map_nd[map_ACxfbrh[I].ind].ibs==300)printf("zzzi: acxf_sub=%d   ac_island=%d\n",I+1,map_bs[map_nd[map_ACxfbrh[I].ind].ibs-1].AC_island); 
//	 		if(map_nd[map_ACxfbrh[I].znd].ibs==300)printf("zzzz: acxf_sub=%d   ac_island=%d\n",I+1,map_bs[map_nd[map_ACxfbrh[I].ind].ibs-1].AC_island); 
     	if(map_bs[map_nd[map_ACxfbrh[I].ind].ibs-1].AC_island==NOWISLAND)
     	{
		   	BSI=map_nd[map_ACxfbrh[I].ind].ibs-1;
		   	BSJ=map_nd[map_ACxfbrh[I].znd].ibs-1;
		   	IV[BSI]=IV[BSI]+1;
		   	IV[BSJ]=IV[BSJ]+1;
//	 		 	if(map_nd[map_ACxfbrh[I].ind].ibs==300)printf("zzz2: acxf_sub=%d\n",I+1); 
//printf("9xfbrh=%d   ibs=%d  zbs=%d   r=%f  x=%f  k=%f\n",I+1,BSI,BSJ,map_ACxfbrh[I].r,map_ACxfbrh[I].x,map_ACxfbrh[I].k);
	   	}
	 	}
	}

	
	for(I=1;I<100;I++)
	{
		IBS[I]=0;
	}
	IBS[1]=1;

  for(I=0;I<lv_bs;I++)
  {
    map_bs[I].ibus=-1;
//    typ_bs[I]=BS_TYPE_PQ;
 		map_bs[I].bs_type=BS_TYPE_PQ;
  }

	lv_bus=0;
	for(I=0;I<lv_bs;I++)
	{
	 if(IV[I]>0)
	 {
	  IBS[IV[I]+1]=IBS[IV[I]+1]+1;
	  lv_bus=lv_bus+1;
	 }
	}
	printf("111:lv_bus= %d \n",lv_bus);

	float maxp=0.0;
	
	ref_bs_un=-1;
//	printf("222:lv_map_ACun==%d\n",lv_map_ACun);
	
	for( I=0;I<lv_map_ACun;I++)
	{
	 if(map_nd[map_ACun[I].ind].ibs>-1)
	 {
	  if(map_bs[map_nd[map_ACun[I].ind].ibs-1].AC_island==NOWISLAND)
	  {

      if(map_ACun[I].vset_ind>-1)
      {
	    	if(map_ACun[I].p>maxp)
	    	{
					maxp=map_ACun[I].p;
					ref_bs=map_nd[map_ACun[I].ind].ibs-1;
					ref_bs_un=I;
	    	}
	   	} 
	  } 
	 } 
	} 
//	typ_bs[ref_bs]=BS_TYPE_VO;
	map_bs[ref_bs].bs_type=BS_TYPE_VO;
//	printf("ref_bs_un==%d,ref_bs==%d\n",ref_bs_un,ref_bs);

	for(I=0;I<100;I++)
	{
		lv_pv_rel_un[I]=0;
	}
	
	NOV=0;
	
	for(I=0;I<lv_map_ACun;I++)
	{
//	 if(map_nd[map_ACun[I].ind].ibs>-1&&typ_bs[map_nd[map_ACun[I].ind].ibs-1]==BS_TYPE_PQ)
	 if(map_nd[map_ACun[I].ind].ibs>-1&&map_bs[map_nd[map_ACun[I].ind].ibs-1].bs_type==BS_TYPE_PQ)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -