//VerilogA for passive,jointer3,veriloga `include "constants.vams" `include "disciplines.vams" module jointer3(Ipow1,Iphase1,Ilam1,Ipow2,Iphase2,Ilam2,Ipow3,Iphase3,Ilam3,Opow,Ophase,Olam); parameter real n1 = 0.3333 from [0:1]; parameter real n2 = 0.3333 from [0:1]; parameter real n3 = 0.3333 from [0:1]; input Ipow1,Iphase1,Ilam1,Ipow2,Iphase2,Ilam2,Ipow3,Iphase3,Ilam3; output Opow,Ophase,Olam; electrical Ipow1,Iphase1,Ilam1,Ipow2,Iphase2,Ilam2,Ipow3,Iphase3,Ilam3,Opow,Ophase,Olam; real r1,i1,r2,i2,r3,i3,ro,io; real iph1,iph2,iph3,oph; analog begin iph1=V(Iphase1)/360.0*2*`M_PI; iph2=V(Iphase2)/360.0*2*`M_PI; iph3=V(Iphase3)/360.0*2*`M_PI; r1=sqrt(n1*V(Ipow1))*cos(iph1); i1=sqrt(n1*V(Ipow1))*sin(iph1); r2=sqrt(n2*V(Ipow2))*cos(iph2); i2=sqrt(n2*V(Ipow2))*sin(iph2); r3=sqrt(n3*V(Ipow3))*cos(iph3); i3=sqrt(n3*V(Ipow3))*sin(iph3); ro=r1+r2+r3; io=i1+i2+i3; oph=atan2(io,ro)/(2*`M_PI)*360.0; V(Ophase) <+ oph; V(Opow) <+ pow(ro,2)+pow(io,2); V(Olam) <+ (V(Ilam1)+V(Ilam2)+V(Ilam3))/3; end endmodule