function [t,x,Pout] = Simulation(bs,ga,flag)
[t,x] = ode45(@(t,x) LPM_3Phase(t,x,bs,ga,flag), [0 350], [0 0 0 0 0]);
RL = 7.5;
v(:,1) = x(:,3)*RL;
v(:,2) = x(:,4)*RL;
v(:,3) = x(:,5)*RL;
Pin = x(:,3).*v(:,1) + x(:,4).*v(:,2) + x(:,5).*v(:,3);
Pout = Pin.*0.85;
end
function dx = LPM_3Phase(t,x,bs,ga,flag)
dx = zeros(5,1);
p = 6;
q = 1;
m = 3;
N = zeros(1,3);
for i = 1:3
N(i) = 82*p*q;
end
L = 0.432;
taup = L/p;
taut = taup./(m*q);
bt = taut - bs;
Kc = taut*(5*ga+bs)/(taut*(5*ga+bs)-bs^2);
geq = Kc*ga;
hm = 0.006;
Br = 1.2;
mu0 = 4*pi*10^(-7);
Hc = 905000;
phi = zeros(1,3);
for i = 1:3
phi(i) = (Br*hm*Hc*mu0)/(hm*Hc*mu0 - geq*Br);
end
if flag == 1
um = 2.2;
uav = 2/pi*um;
T = 12.6;
Ra = 1.5;
Ls = 0.115;
RL = 7.5;
Ms = 4;
Ws = 0.2;
KE = Ms*Ws*N(i)*phi(i)*uav;
u = um.*sin(2*pi.*t./T);
du = 2*pi.*um./T*cos(2*pi.*t./T);
e = zeros(1,3);
e(1) = KE*cos(pi.*x(1)./taup)*u;
e(2) = KE*cos(pi.*x(1)./taup - 2*pi/3)*u;
e(3) = KE*cos(pi.*x(1)./taup - 4*pi/3)*u;
v = zeros(1,3);
v(1) = x(3)*RL;
v(2) = x(4)*RL;
v(3) = x(5)*RL;
F = zeros(1,3);
for i = 1:3
F(i) = N(i).*phi(i).*pi./taup.*sin(pi.*x(1)./taup).*x(i + 2);
end
dx(1) = u;
dx(2) = du;
elseif flag == 2
um = 2.2;
uav = 2/pi*um;
T = 12.6;
A = 4;
Ra = 1.5;
Ls = 0.115;
RL = 7.5;
Ms = 4;
Ws = 0.2;
KE = Ms*Ws*N(i)*phi(i)*uav;
u = x(2);
e = zeros(1,3);
e(1) = KE*cos(pi.*x(1)./taup).*u;
e(2) = KE*cos(pi.*x(1)./taup - 2*pi/3).*u;
e(3) = KE*cos(pi.*x(1)./taup - 4*pi/3).*u;
v = zeros(1,3);
v(1) = x(3)*RL;
v(2) = x(4)*RL;
v(3) = x(5)*RL;
F = zeros(1,3);
for i = 1:3
F(i) = N(i).*phi(i).*pi./taup.*sin(pi.*x(1)./taup).*x(i + 2);
end
rho = 1025;
g = 9.81;
a = 0.5;
b = 1;
h = 10;
M = 1000;
mr = 289;
Rr = 16;
Rv = 717;
dx(1) = x(2);
dx(2) = -((Rr + Rv).*(x(2) - 2.*pi.*A./T.*cos(2.*pi.*t./T)) +...
rho.*g.*pi.*a.^2.*(x(1) - A.*sin(2.*pi.*t./T)))./(M + mr);
end
dx(3) = (e(1) - v(1) - x(3)*Ra)/Ls;
dx(4) = (e(2) - v(2) - x(4)*Ra)/Ls;
dx(5) = (e(3) - v(3) - x(5)*Ra)/Ls;
end