1clear all; 2close all; 3 4fontsize_labels = 14; 5fontsize_grid = 12; 6fontname = 'Times'; 7 8%the files optimize** contain 9%Grad --- gradient, 10%Init_ts --- initial condition of forward problem 11%Init_adj--- initial condition of backward problem 12 13%additionally 14%xg - the grid 15%obj- the objective function 16%ic - initial condition (the one to be optimized) 17 18 19% run('PDEadjoint/optimize06.m') 20% figure(2) 21% plot(xg,obj,'k-','Markersize',10,'Linewidth',2); drawnow 22% hold on 23% plot(xg,fwd,'b-','Markersize',10); drawnow 24% plot(xg,Init_ts,'r*-','Markersize',10); drawnow 25% plot(xg,Grad,'bs','Markersize',10); drawnow 26% plot(xg,ic,'g-','LineWidth',2,'Markersize',12); 27 28% figure(29) 29% run('tss.m') 30% plot(xg,init) 31% hold on 32% plot(xg,fin,'ro-') 33% break 34% figure(3) 35% plot(xg,Init_adj,'k*-','Markersize',10); drawnow 36% hold on 37% plot(xg,Grad,'go-','Markersize',10); drawnow 38% plot(xg,Init_adj,'r*-','Markersize',10); drawnow 39% plot(xg,obj,'r*-','Markersize',10); drawnow 40% figure(55) 41% plot(xg,Init_adj,'k*-','Markersize',10); drawnow 42% hold on 43% plot(xg,-2*(obj-fwd),'ro','Markersize',10); drawnow 44 45figure(15) 46for ii=11:13 47file=sprintf('PDEadjoint/optimize%02d.m',ii); 48run(file) 49plot(grid,Init_ts,'ko-','Markersize',10); drawnow; 50hold on 51%plot(grid,temp,'c*','Markersize',10); drawnow; 52plot(grid,exact,'r*','Markersize',10); drawnow; 53%plot(grid,Curr_sol,'g-','Markersize',10); drawnow; 54%plot(grid,Init_adj,'bo-','Markersize',10); drawnow; 55end 56xlabel('x (GLL grid)'); 57ylabel('f(x)- objective'); 58% 59% break 60% tt=senmask.*obj; 61% tt(abs(tt)==0)=NaN; 62% plot(xg,tt,'ks-','Markersize',10); drawnow; 63% break 64% Err1=Err; TAO1=TAO; 65% 66% %break 67% figure(15) 68% for ii=35:40 69% file=sprintf('PDEadjoint_hc/optimize%02d.m',ii); 70% run(file) 71% plot(xg,Init_ts,'go-','Markersize',10); drawnow; 72% hold on 73% plot(xg,obj,'r-','Markersize',10); drawnow; 74% plot(xg,fwd,'bo-','Markersize',10); drawnow; 75% end 76% xlabel('x (GLL grid)'); 77% ylabel('f(x)- objective'); 78% 79% 80% figure(99) 81% semilogy(Err1,'k-','Markersize',6,'LineWidth',2); drawnow; 82% hold on 83% semilogy(Err,'r-','Markersize',6,'LineWidth',2); drawnow; 84% 85% 86% set(gca,'FontName',fontname) 87% set(gca,'FontSize',fontsize_grid) 88% set(gca,'FontSize',fontsize_labels) 89% 90% legend('Discrete Objective','Continous Objective') 91% xlabel('Iterations'); 92% ylabel('Error solution'); 93% grid on 94% legend boxoff; 95% axis tight; axis square 96% 97% break 98% 99% figure(12) 100% plot(xg,objk,'b*-','Markersize',6,'LineWidth',2); drawnow; 101% 102% hold on 103% plot(xg,Init_ts,'ro-','Markersize',6,'LineWidth',2); drawnow; 104% plot(xg,ic,'ks-','Markersize',6,'LineWidth',2); drawnow; 105% legend('Objective','Optimal','Starting') 106% legend boxoff 107% xlabel('GLL grid'); 108% ylabel('Diffusion solution (Data assimilation)'); 109% set(gca,'FontName',fontname) 110% set(gca,'FontSize',fontsize_grid) 111% set(gca,'FontSize',fontsize_labels) 112% figure(95) 113% t=0.6; mu=0.001;x=xg; 114% plot(xg,2.0*mu*pi*sin(pi*x).*exp(-pi^2*t*mu)./(2.0+exp(-pi^2*t*mu).*cos(pi*x))); 115% 116% break 117% figure(1) 118% plot(xg,Init_ts,'ro-','Markersize',8,'LineWidth',2); drawnow; 119% %break 120% figure(2);set(gca,'FontSize',18);hold on 121% 122% run('PDEadjoint/optimize00.m') 123% plot(xg,Grad,'k*-'); 124% run('PDEadjoint/optimize04.m') 125% plot(xg,Grad,'ro-'); 126% 127% set(gca,'FontName',fontname) 128% set(gca,'FontSize',fontsize_grid) 129% set(gca,'FontSize',fontsize_labels) 130% 131% xlabel('x (GLL grid)'); 132% ylabel('f(x)- objective'); 133% 134% legend('Grad at it=0','Grad at it=1') 135% 136% figure(10) 137% run('fd.m') 138% %plot(gradj) 139% plot(xg,gradj./Mass,'ro-','LineWidth',2,'Markersize',12); 140% hold on 141% run('PDEadjoint/optimize01.m') 142% plot(xg,Grad,'k*-','LineWidth',2,'Markersize',10); 143% 144% set(gca,'FontName',fontname) 145% set(gca,'FontSize',fontsize_grid) 146% set(gca,'FontSize',fontsize_labels) 147% 148% legend('Gradient FD','Gradient Adjoint') 149% xlabel('x (GLL grid)'); 150% ylabel('Gradient'); 151% axis tight; axis square 152% 153% errgrad=max(abs(gradj./Mass-Grad)) 154% 155% 156% figure(21) 157% semilogy(1:21,TAO,'r','LineWidth',2) 158% % hold on 159% % semilogy(1:31,L2,'r','LineWidth',2) 160% grid on 161% xlabel('No iterations'); 162% ylabel('Cost function'); 163% set(gca,'FontName',fontname) 164% set(gca,'FontSize',fontsize_grid) 165% set(gca,'FontSize',fontsize_labels) 166% % 167% % legend('TAO','User') 168