function [tplot,wplot]=vteamIntegrate(p,opts,tend)

tstart=0; wstart=p.winit;
tplot = []; wplot = [];
RegionNum=1; Region(RegionNum)=p.Region;
RegionStartTime(RegionNum)=tstart;
while 1
%  opts=odeset('RelTol',1e-5,'AbsTol',1e-5,'InitialStep',1e-7,'MaxStep',1e-4,'Events',@vteamEvents);
  opts=odeset('MaxStep',1e-4,'Events',@vteamEvents);
  [t,w,te,ye,ie] = ode45(@vteamRHSRegions,[tstart,tend],wstart,opts,p);
  tplot = [tplot; t];
  wplot = [wplot; w];
  tstart = t(end);
  wstart = w(end);
  disp(sprintf('Leaving Region: %d at time: %10.8f, ',p.Region,tstart));
  if (isempty(ie)); break; end
  newRegion=0;
  if p.Region==1 && ie==1; newRegion=3; end
  if p.Region==1 && ie==2; newRegion=4; end
  if p.Region==2 && ie==1; newRegion=3; end
  if p.Region==2 && ie==2; newRegion=5; end
  if p.Region==3 && ie==1; newRegion=1; end
  if p.Region==3 && ie==2; newRegion=2; end
  if p.Region==4; newRegion=2; end
  if p.Region==5; newRegion=1; end
  p.Region=newRegion;
  disp(sprintf('Entering Region: %d, t: %10.8f, w: %6.4e',p.Region,tstart,wstart));
  RegionEndTime(RegionNum)=tstart;
  RegionNum=RegionNum+1;  Region(RegionNum)=p.Region;
  RegionStartTime(RegionNum)=tstart;
end
RegionEndTime(RegionNum)=tend;




