2015-10-08 14:01:55 +08:00
|
|
|
|
clc
|
|
|
|
|
|
clear
|
|
|
|
|
|
%% <EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
% [1]. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>.A., <EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD><EFBFBD>߱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>糡<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1984(Z1): <EFBFBD><EFBFBD>83-91ҳ.
|
|
|
|
|
|
% [2]. Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ͬ<EFBFBD>˲<EFBFBD><EFBFBD>ܶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>ĵ糡ǿ<EFBFBD>Ⱥ<EFBFBD>Ӧ<EFBFBD><EFBFBD>ѹ. <EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1999(03): <EFBFBD><EFBFBD>39-42ҳ.
|
|
|
|
|
|
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>.A.<EFBFBD><EFBFBD>.A., Analysis of Conductors<EFBFBD><EFBFBD> Surface Electric Field of UHVDC Transmission Lines Based on Optimized Charge Simulation Method. <EFBFBD>ߵ<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2008(12): p. 2547-2551.
|
|
|
|
|
|
%%
|
|
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
semi_lineDistance=450;%<EFBFBD><EFBFBD><EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
semi_lineCount=6;%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
ConductorX=[-11000,11000];%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2015-10-08 18:10:39 +08:00
|
|
|
|
ConductorY=[22000,22000,30000,30000];%<EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><EFBFBD>ظ߶<EFBFBD>
|
|
|
|
|
|
GroundX=[-11000,11000];%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
GroundY=[30000,30000];
|
2015-10-08 14:01:55 +08:00
|
|
|
|
subconductorR=16.8;%<EFBFBD>ӵ<EFBFBD><EFBFBD>߰뾶
|
|
|
|
|
|
phaseN=2;%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2015-10-08 18:10:39 +08:00
|
|
|
|
groundN=2;%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2015-10-08 14:01:55 +08:00
|
|
|
|
%%
|
|
|
|
|
|
eslong=8.854187817*10^-12*1000;
|
2015-10-08 18:10:39 +08:00
|
|
|
|
eslong=1;
|
2015-10-08 14:01:55 +08:00
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ѹ
|
|
|
|
|
|
% Volt_=[1100/sqrt(3);1100/sqrt(3)*exp(1j*4/3*pi);1100/sqrt(3)*exp(1j*2/3*pi);];
|
2015-10-08 18:10:39 +08:00
|
|
|
|
Volt_=[800;-800;0;0];
|
2015-10-08 14:01:55 +08:00
|
|
|
|
Volt=[];
|
|
|
|
|
|
for vLoop=1:phaseN
|
|
|
|
|
|
Volt=[Volt;Volt_(vLoop)*ones(semi_lineCount,1);];
|
|
|
|
|
|
end
|
2015-10-08 18:10:39 +08:00
|
|
|
|
for vLoop=1:groundN
|
|
|
|
|
|
Volt=[Volt;Volt_(vLoop+phaseN);];
|
|
|
|
|
|
end
|
2015-10-08 14:01:55 +08:00
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>಼<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
%<EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
arc=2*pi/semi_lineCount;
|
|
|
|
|
|
%<EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵľ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
R=semi_lineDistance/2/sin(arc/2);
|
|
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD>㵼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>λϵ<EFBFBD><EFBFBD>
|
|
|
|
|
|
subconductorPos=[];
|
2015-10-08 18:10:39 +08:00
|
|
|
|
for phaseLoop=1:phaseN%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2015-10-08 14:01:55 +08:00
|
|
|
|
for sC=1:semi_lineCount
|
|
|
|
|
|
subconductorPos=[subconductorPos;ConductorX(phaseLoop)+1j*ConductorY(phaseLoop)+exp(1j*((sC-1)*arc+arc/2))*R];%<EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
%ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2015-10-08 18:10:39 +08:00
|
|
|
|
for grondLoop=1:groundN%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
subconductorPos=[subconductorPos;GroundX(grondLoop)+1j*GroundY(grondLoop)];%<EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
end
|
2015-10-08 14:01:55 +08:00
|
|
|
|
mirrorSubconductorPos=conj(subconductorPos);%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>߾<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
H=diag(imag(subconductorPos));
|
2015-10-08 18:10:39 +08:00
|
|
|
|
r=eye(length(H))*subconductorR;%<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ߺ͵<EFBFBD><EFBFBD>߰뾶һ<EFBFBD><EFBFBD>
|
2015-10-08 14:01:55 +08:00
|
|
|
|
matSubconductor=repmat(subconductorPos,1,length(subconductorPos));
|
|
|
|
|
|
conductor2conductorDistance=abs(matSubconductor-conj(matSubconductor'));
|
|
|
|
|
|
conductor2MirrorDistance=abs(matSubconductor-repmat(conj(mirrorSubconductorPos'),length(subconductorPos),1));
|
|
|
|
|
|
P1=1/2/pi/eslong*log(2*H./r);
|
|
|
|
|
|
P1(isnan(P1))=0;
|
|
|
|
|
|
P2=1/2/pi/eslong*log(conductor2MirrorDistance./conductor2conductorDistance);
|
|
|
|
|
|
P2(isinf(P2))=0;
|
|
|
|
|
|
Pij=P1+P2;
|
|
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
QRI=Pij\Volt;
|
|
|
|
|
|
% <EFBFBD><EFBFBD><EFBFBD>㾵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
%ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ԶԵؾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
innerMirrorPos=[];
|
|
|
|
|
|
innerMirrorQ=[];%<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
for phaseLoop=1:phaseN
|
|
|
|
|
|
for sCOuter=1:semi_lineCount
|
|
|
|
|
|
for sCInner=1:semi_lineCount
|
|
|
|
|
|
if sCInner==sCOuter
|
|
|
|
|
|
innerMirrorPos=[innerMirrorPos;subconductorPos((phaseLoop-1)*semi_lineCount+sCOuter)];%<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
|
innerMirrorQ=[innerMirrorQ;sum(QRI(1+(phaseLoop-1)*semi_lineCount:phaseLoop*semi_lineCount))];
|
|
|
|
|
|
continue
|
|
|
|
|
|
end
|
|
|
|
|
|
innerMirrorPos=[innerMirrorPos;subconductorPos(sCOuter+(phaseLoop-1)*semi_lineCount)+subconductorR^2/abs(subconductorPos(sCOuter+(phaseLoop-1)*semi_lineCount)-subconductorPos(sCInner+(phaseLoop-1)*semi_lineCount))*(subconductorPos(sCInner+(phaseLoop-1)*semi_lineCount)-subconductorPos(sCOuter+(phaseLoop-1)*semi_lineCount))./(abs(subconductorPos(sCInner+(phaseLoop-1)*semi_lineCount)-subconductorPos(sCOuter+(phaseLoop-1)*semi_lineCount)))];
|
|
|
|
|
|
innerMirrorQ=[innerMirrorQ;-QRI(sCInner+(phaseLoop-1)*semi_lineCount)];
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2015-10-08 18:10:39 +08:00
|
|
|
|
|
|
|
|
|
|
for groundLoop=1:groundN%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>Ч
|
|
|
|
|
|
innerMirrorPos=[innerMirrorPos;subconductorPos(groundLoop+semi_lineCount*phaseN)];%<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
|
innerMirrorQ=[innerMirrorQ;sum(QRI(groundLoop+semi_lineCount*phaseN))];
|
|
|
|
|
|
end
|
|
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2015-10-08 14:01:55 +08:00
|
|
|
|
%ѡ<EFBFBD><EFBFBD><EFBFBD>鵼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>
|
2015-10-08 18:10:39 +08:00
|
|
|
|
verifyPointN=200;
|
|
|
|
|
|
vrfRelA=linspace(0,2*pi,verifyPointN)';%vrf=verify
|
2015-10-08 14:01:55 +08:00
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>ߵ<EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
|
vrfRelPos=exp(1j*vrfRelA)*subconductorR;
|
|
|
|
|
|
%<EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬ʹ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غϡ<EFBFBD>
|
|
|
|
|
|
vrfPos=[];
|
|
|
|
|
|
for phaseLoop=1:phaseN
|
|
|
|
|
|
for sC=1:semi_lineCount
|
|
|
|
|
|
vrfPos=[vrfPos;exp(1j*((sC-1)*arc+arc/2))*R+ConductorX(phaseLoop)+1j*ConductorY(phaseLoop)+vrfRelPos];
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2015-10-08 18:10:39 +08:00
|
|
|
|
for groundLoop=1:groundN
|
|
|
|
|
|
vrfPos=[vrfPos;GroundX(groundLoop)+1j*GroundY(groundLoop)+vrfRelPos];
|
|
|
|
|
|
end
|
2015-10-08 14:01:55 +08:00
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>λϵ<EFBFBD><EFBFBD>
|
|
|
|
|
|
matVrfPos=repmat(vrfPos,1,length(innerMirrorPos));
|
|
|
|
|
|
vrf2ConductorDistance=abs(matVrfPos-repmat(conj(innerMirrorPos'),length(vrfPos),1));
|
|
|
|
|
|
vrf2MirrorDistance=abs(matVrfPos-repmat(conj(conj(innerMirrorPos')),length(vrfPos),1));
|
|
|
|
|
|
Pij=1/2/pi/eslong*log(vrf2MirrorDistance./vrf2ConductorDistance);
|
|
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
|
|
|
|
|
|
V=Pij*innerMirrorQ;
|
|
|
|
|
|
Vvalidation=[];
|
|
|
|
|
|
for phaseLoop=1:phaseN
|
2015-10-08 18:10:39 +08:00
|
|
|
|
Vvalidation=[Vvalidation;Volt_(phaseLoop)*ones(semi_lineCount*verifyPointN,1);];
|
|
|
|
|
|
end
|
|
|
|
|
|
for groundLoop=1:groundN
|
|
|
|
|
|
Vvalidation=[Vvalidation;Volt_(groundLoop+phaseN)*ones(verifyPointN,1);];
|
2015-10-08 14:01:55 +08:00
|
|
|
|
end
|
|
|
|
|
|
error=abs((V-Vvalidation)./Vvalidation);
|
|
|
|
|
|
error=sum(error)/length(Vvalidation)
|
|
|
|
|
|
display('Finished.');
|
|
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD>㳡ǿ
|
|
|
|
|
|
ABCy=imag(repmat(innerMirrorPos,1,length(vrfPos)));
|
|
|
|
|
|
ABCx=real(repmat(innerMirrorPos,1,length(vrfPos)));
|
|
|
|
|
|
y=imag(conj(matVrfPos'));
|
|
|
|
|
|
x=real(conj(matVrfPos'));
|
|
|
|
|
|
ERy=sum( ( (ABCy-y)./( (ABCy-y).^2+(ABCx-x).^2 )-(ABCy+y)./( (ABCy+y).^2+(ABCx-x).^2 ) ).*repmat(real(innerMirrorQ),1,length(vrfPos))./2/pi/eslong,1 );
|
|
|
|
|
|
EIy=sum( ( (ABCy-y)./( (ABCy-y).^2+(ABCx-x).^2 )-(ABCy+y)./( (ABCy+y).^2+(ABCx-x).^2 ) ).*repmat(imag(innerMirrorQ),1,length(vrfPos))./2/pi/eslong,1 );
|
|
|
|
|
|
ERx=sum( ( (ABCx-x)./( (ABCy-y).^2+(ABCx-x).^2 )-(ABCx-x)./( (ABCy+y).^2+(ABCx-x).^2 ) ).*repmat(real(innerMirrorQ),1,length(vrfPos))./2/pi/eslong,1 );
|
|
|
|
|
|
EIx=sum( ( (ABCx-x)./( (ABCy-y).^2+(ABCx-x).^2 )-(ABCx-x)./( (ABCy+y).^2+(ABCx-x).^2 ) ).*repmat(imag(innerMirrorQ),1,length(vrfPos))./2/pi/eslong,1 );
|
|
|
|
|
|
E2=sqrt(ERy.^2+EIy.^2+ERx.^2+EIx.^2+((ERy.^2-EIy.^2+ERx.^2-EIx.^2).^2+4*(ERy.*EIy+ERx.*EIx).^2).^.5);
|
|
|
|
|
|
E3=sqrt(ERy.^2+EIy.^2+ERx.^2+EIx.^2);
|
|
|
|
|
|
Emat=1/pi/2./eslong.*repmat(conj(innerMirrorQ'),length(vrfPos),1)./(vrf2ConductorDistance.^2).*(matVrfPos-repmat(conj(innerMirrorPos'),length(vrfPos),1))./vrf2ConductorDistance;
|
|
|
|
|
|
E=sum(Emat,2);
|
|
|
|
|
|
max(sqrt(2)*abs(E));
|
|
|
|
|
|
scatter(real(innerMirrorPos(1:length(innerMirrorPos)/1)),imag(innerMirrorPos(1:length(innerMirrorPos)/1)),[],'r');
|
|
|
|
|
|
axis equal
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
scatter(real(vrfPos),imag(vrfPos),[],'k');
|