<<Algebra`ReIm`;

http://panther.feld.cvut.cz/cs/wiki/energetika_kruhovy_diagram_obloukove_pece

zrej[z_]:=z/:Im[z]=0;
realne={r,Ro,X,ω,U};
zrej/@realne;
Z=I*X+r+Ro;
proud=(U/Z);
ParametricPlot[{-Im[proud],Re[proud]}/.{r->1,X->10,U->1},{Ro,0,10000},AspectRatio->Automatic,PlotRange->All,PlotPoints->1000,AxesLabel->{"-Im[I]","Re[I]"},PlotStyle->{Hue[0.6],Thickness[0.008]}];

Print["Im[I]= ",Im[proud]]
Print["Re[I]= ",Re[proud]]
absIkv=FullSimplify[((Im[proud])^2)+((Re[proud])^2)];
Print["Abs[I]^2=I*(SuperStar[I])=I*Conjugate[I]= ",absIkv]

tgfi=((-Im[proud])/(Re[proud]));
cosfi=FullSimplify[((Re[proud])/(Sqrt[absIkv])),U>0];
Print["tg(φ)= ",tgfi]
Print["cos(φ)= ",cosfi]

Pcelk=absIkv*(r+Ro);
Simplify[D[Pcelk,Ro]]
podminka=Numerator[((%)/(U^2))]==0

Po=absIkv*Ro;
Simplify[D[Po,Ro]]
podminka=Numerator[((%)/(U^2))]==0

Print["-Im[Ik]= ",-Im[proud/.Ro->0]]
Print["Re[Ik]= ",Re[proud/.Ro->0]]