ClearAll["Global`*"]

Ymatice[uzel1_,uzel2_,Z_,Y_,B_,T_]:=Module[{YT,(*Ykm,Ymk,Yk0,Ym0,*)u1,u2,m},
YT=(1/Z);
Ykm=(YT/T);
Ymk=(YT/(Conjugate[T]));
Yk0=(1-(1/T))*YT+I*(B/2);
Ym0=((1-T)/(T*Conjugate[T]))*YT+I*(B/2);
(*Nejprve je nutno vložit na diagnálu uzlové admitance*)
m=DiagonalMatrix[Y];
For[i=1,i<Length[uzel1]+1,i++,
u1=uzel1[[i]];
u2=uzel2[[i]];
(*Dále pak admitance všech okolních větví*)
m[[u1,u1]]=m[[u1,u1]]+Ykm[[i]]+Yk0[[i]];
m[[u2,u2]]=m[[u2,u2]]+Ymk[[i]]+Ym0[[i]];
(*nediagonalni prvky*)
m[[u1,u2]]=m[[u1,u2]]-Ykm[[i]];
m[[u2,u1]]=m[[u2,u1]]-Ymk[[i]];
];
m
];

(*  K - vektor prvnich uzlu brany
  L - vektor druhych uzlu brany*)
ZF[Zmat_,K_,L_]:=Module[{},

]

(*
funkce pro alokaci proudů z bran poruch do jednotlivých uzlů
Ixd - proudy v branách poruch
KK - první zel brány
LL - druhý uzel brány
Nf - počet poruch
NU - počet uzlů
*)
Alokace[Ixd_,KK_,LL_,Nf_,NU_]:=Module[{},

]

(*převod napětí ze složek 120->ABC*)
napetiABC[uzel_]:=Module[{},

]

doBodu[dataa_,popisky_,barva_]:=Module[{data=dataa*(E^(I*natoceni)),pocatek=dataa[[1]]*(E^(I*natoceni))},
Graphics[{barva,Thick,
Table[{Text[ToString["  "<>popisky[[i-1]]<>"\n"<>"\n"],{Re[pocatek+(2/3)*Re[data[[i]]]],Im[pocatek+(2/3)*Im[data[[i]]]*I]}],Arrow[{{Re[pocatek],Im[pocatek]},{Re[pocatek+Re[data[[i]]]],Im[pocatek+Im[data[[i]]]*I]}}]},{i,2,Length[data]}]},Frame->True,GridLines->Automatic,PlotRange->rozmerOkna]
]

kV=1000;
MVA=MW=MVAr=1000000;
µS=(10^(-6));

G1={Eg->13.8kV,Sg->100MVA,xd->0.15};
T1={St->100MVA,U1->13.8kV,U2->121kV,p->(U1/U2),uk->0.1};
T2={St->25MVA,U1->23kV,U2->110kV,p->(U1/U2),uk->0.1};
Z1={Uz->22kV,Pz->10MW,Qz->-5MVAr};
V1={R->0.4,X->6,B->150µS};
V2={R->0.4,X->8,B->200µS};
V3={R->0.2,X->4,B->100µS};

(*a) - sestavte admitanční matici obvodu*)

(*vektor uzlových admitancí sousledné složky*)
Y1={0,0,0,(1/(I*xd*((Eg^2)/Sg)))/.G1,(1/((Uz^2)/(Pz+I*Qz)))/.Z1//N}

(*propoje mezi uzly*)
uzel1={1,1,2,2,5};
uzel2={2,3,3,4,3};

(*vektor meziuzlových impedancí a susceptancí sousledné složky*)
Zkm1={R+I*X/.V1,R+I*X/.V2,R+I*X/.V3,I*uk*((U2^2)/St)/.T1,I*uk*((U1^2)/St)/.T2}
B1={B/.V1//N,B/.V2//N,B/.V3//N,0,0}

(*vektor převodů*)
T={1,1,1,(13.8/121),(110/23)}//N

ymat=Ymatice[uzel1,
uzel2,
Zkm1,
Y1,
B1,
T];
%//MatrixForm
zmat=Inverse[ymat];
%//MatrixForm

(*
pp-před poruchou
c-celkový vektor/matice pro všechny uzly soustavy
d-dodatková veličina
*)

(*předporuchové napětí a proudy*)
I1ppc=
U1ppc=
%//MatrixForm

(*prvni uzel poruchy*)
KK={};
(*druhy uzel poruchy, 0-zem*)
LL={};
(*poruchove impedance*)
Zvpi=

(*poruchová impedanční matice sousledné složky*)
ZF1=

(*předporuchová napětí na branách poruch*)
U1pp=
I1pp=
(*dodatkový proud*)
I1d=

(*plný vektor dodatkových proudů*)
I1dc=

(*plný vektor napětí při poruše*)
U1c=

(*retezeni poruch*)

(*komplexni promenna pro fazove otoceni*)
(*uvažujte řazení vektorů 120->ABC*)
a=;
(*transformační matice*)
Amatice={{},
{},
{}};

(*fázorák*)
uzel=5;
UABC=napetiABC[uzel]
natoceni=0;
roz=1.2*Max[Abs[UABC]];
rozmerOkna={{-roz,roz},{-roz,roz}};
doBodu[Flatten[Prepend[{UABC},0]],{"UA","UB","UC"},Red]