I have a code that produce some value that is from some equation with some inputs.
inputs are inserted by me at the first of code.
end of the code I have a condition must be met otherwise I have to change my inputs until condition met(Es>Estep).
How can I do that?
please help me out. this is my code :
function groundgrid format short g close all clc I=input('Please specify the rms symmetrical line to ground fault current in kA '); IG=input('Please specify the maximum grid current in kA '); tc=input('Please specify the duration of fault current in s '); ts=input('Please specify the shock duration in s '); Tm=input('Please specify which type connectors You intend to use in centigrade (for exothermic weld press 1083/for bolted press 250) '); Ta=input('Please specify the ambient temperature in centugrade '); mat=input('Please specify which material You intend to use (for copper press 1/for aluminum press 0) '); shape=input('Please specify which shape of ground grid You intend to use (for square press 0/for rectangular press 1/for L-shaped press 2/for other shapes press 3) '); Lg=input('Please specify the length of ground system in m '); Wg=input('Please specify the width of ground system in m '); Lx=input('Please specify the maximum length of the grid in the x direction in m '); Ly=input('Please specify the maximum length of the grid in the y direction in m '); D=input('Please specify the maximum distance between main conductors in m '); Dm=input('Please specify the maximum distance between any two points on the grid in m '); p=input('Please specify the resistivity of the surface material in ?.m '); pS=input('Please specify the soil resistivity in ?.m '); h=input('Please specify the depth of buried conductors in m '); hs=input('Please specify the height of surface layer in m '); nR=input('Please specify the minimum number of rods placed in area '); Lr=input('Please specify the length of each rod in m '); b=input('Please specify the diameter of rod in m '); a=input('Please specify the diameter of conductor in m '); weight=input('Please specify what is the weight of substation man (for 50kg press 1/for 70kg press 0) '); gror=input('Please specify which grids You intend to use (for grids with no ground rods or without corner rods press 1/for grids with ground rods or with corner rods press 0) '); % cross-section area:
if mat>0.5 TCAP=1;ar=1;pr=1;k0=1; else TCAP=10;ar=10;pr=10;k0=10; end A=I/sqrt(((TCAP*10^-4)/(tc*ar*pr))*log((k0+Tm)/(k0+Ta))); % ground system resistance:
b=b/2; d=a; a=a/2; Na=(Lg/D)+1; Nb=(Wg/D)+1; Lc=(Lg*Nb)+(Wg*Na); if 0<h<(0.1*(sqrt(Lg*Wg))) k2=(0.15*(Lg/Wg))+5.5; k1=(-0.04*(Lg/Wg))+1.41; elseif (0.1*(sqrt(Lg*Wg)))<h<((1/6)*(sqrt(Lg*Wg))) k2=(0.10*(Lg/Wg))+4.68; k1=(-0.05*(Lg/Wg))+1.20; else k2=(-0.05*(Lg/Wg))+4.40; k1=(-0.05*(Lg/Wg))+1.13; end asec=sqrt(2*a*h); R1=(p/(pi*Lc))*[log((2*Lc)/asec)+((k1*Lc)/sqrt(Lg*Wg))-k2]; R2=(p/(2*pi*nR*Lr))*[log((4*Lr)/b)-1+((2*k1*Lr)/(sqrt(Lg*Wg)))* ((sqrt(nR)- 1))^2]; Rm= (p/(pi*Lc))*[log((2*Lc)/Lr)+((k1*Lc)/sqrt(Lg*Wg))-k2+1]; Rg=(R1*R2-Rm^2)/(R1+R2-2*Rm); % tolerable step and touch voltage:
CS=1-((0.09*(1-(p/pS)))/((2*hs)+0.09)); if weight==1 Estep=(1000+6*CS*pS)*(0.116/(sqrt(ts))); Etouch=(1000+1.5*CS*pS)*(0.116/(sqrt(ts))); else Estep=(1000+6*CS*pS)*(0.157/(sqrt(ts))); Etouch=(1000+1.5*CS*pS)*(0.157/(sqrt(ts))); end % step and mesh voltage:
if shape==0 na=(2*Lc)/(2*(Lg+Wg)); nb=1; nc=1; nd=1; elseif shape==1 na=(2*Lc)/(2*(Lg+Wg)); nb=sqrt((2*(Lg+Wg))/(4*(sqrt(Lg*Wg)))); nc=1; nd=1; elseif shape==2 na=(2*Lc)/(2*(Lg+Wg)); nb=sqrt((2*(Lg+Wg))/(4*(sqrt(Lg*Wg)))); nc=[(Lx*Ly)/(Lg*Wg)]^((0.7*(Lg*Wg))/(Lx*Ly)); nd=1; else na=(2*Lc)/(2*(Lg+Wg)); nb=sqrt((2*(Lg+Wg))/(4*(sqrt(Lg*Wg)))); nc=[(Lx*Ly)/(Lg*Wg)]^((0.7*(Lg*Wg))/(Lx*Ly)); nd=Dm/(sqrt((Lx)^2+(Ly)^2)); end n=na*nb*nc*nd; if gror==0 Kii=1; LM=(Lc+[1.55+1.22*(Lr/((Lx)^2+(Ly)^2))]*(nR*Lr)); else Kii=1/((2*n)^(2/n)); LM=Lc+(nR*Lr); end Kh=sqrt(1+(h/1)); Km=(1/(2*pi))* ((log(((D^2)/16*h*d))+(((D+2*h)^2)/(8*D*d))-(h/(4*d)))+((Kii/Kh)*log(8/(pi*(2*n-1))))); Ki=0.644+(0.148*n); Em=(p*Km*Ki*IG)/LM; Ls=(0.75*Lc)+(0.85*nR*Lr); Ks=(1/pi)*[(1/2*h)+(1/(D+h))+(1/D)*(1-(0.5)^(n-2))]; Es=(p*Ks*Ki*IG)/Ls; if Es>Estep end end
Best Answer