function shwproc(stp, Ep, v, Val, maxE)
stpX=1e-6; maxX=100e-6; stpT=1e-11; maxT=1.5e-9;
x=0: stpX : maxX; t=0: stpT : maxT;
stpsX = maxX ./stpX; stpsXd=stpsX ./10;
stps=maxE./stp;
U0=Ep.*maxX .*0.02;
for i=1:(stpsX+1)
 Q0(i)=0;
 if i<=stpsXd  E0(i)=1.1*U0/maxX;
 else E0(i)=(8.9/9)*(U0/maxX); end;
 %if i<=stpsXd  E0(i)=U0/maxX;
 %else E0(i)=U0/maxX; end;
end;
Q1=Q0; E1=E0; epsi=12.5*(8.84e-12); en0=(1e+15)*(1.6e-19);
hold off
if Val==3, plot(x,Q0,'m-'); title('Initial Q versus length'); end;
if Val==2, plot(x,E0,'r-'); title('Initial E versus length');axis([0 0.00012 0 1400]); end;
grid on;
pause(4);
hold off
%System of differential Equations is Processed
for j=1:45
 for i=2:(stpsX)
  if E0(i-1)>maxE v1=v(stps-1);
  else jj=ceil(E0(i-1)./stp);v1=v(jj); end;
  if E0(i+1)>maxE v2=v(stps-1); else v2=v(ceil(E0(i+1)./stp)); end;
  Q1(i)=Q0(i)+en0*stpT*(v1-v2);
  E1(i+1)=E0(i-1)+(Q1(i)./epsi);
 end;
 Q0=Q1; E0=E1; factor=mean(E0)*maxX / U0; E0=E0/factor;
 if Val==3 plot(x,Q0,'m-'); title('Q versus length');
 grid on;
end;
if Val==2 plot(x,E0,'r-'); title('E versus length');axis([0 0.00012 0 1400]);
grid on;
end;
drawnow; %hold on;
end;
hold off;