Commit 83a5d6c89afb8509fc990f2cc73aa14b6733b01b

  • avatar
  • Juha Jeronen <jumijero @ami…la.it.jyu.fi> (Committer)
  • Thu Mar 10 16:48:27 EET 2011
  • avatar
  • Juha Jeronen <jumijero @ami…la.it.jyu.fi> (Author)
  • Thu Mar 10 16:48:27 EET 2011
Plot velocity field, too
Harjoitustyo/corrosive_darcy_flow.m
(43 / 21)
  
157157
158158 % Laskennan lopuksi (joka tapauksessa) piirrettävän aika-avaruuslakanan piirtoasetukset.
159159 %
160 nt_vis = 101; % Visualisointipisteiden määrä aika-akselilla (kannattaa pitää kohtuullisena)
160 nt_vis = 201; % Visualisointipisteiden määrä aika-akselilla (kannattaa pitää kohtuullisena)
161161 cm = 'jet'; % Värikartta funktioiden arvoille. MATLABin/Octaven mukana tulevan värikartan nimi,
162162 % tai vektori RGB-arvoja MATLABin colorbar-formaatissa.
163163
384384 y_vis = y_vis / steps_per_vis;
385385
386386 if online_vis
387 figure(2);
387 figure(3);
388388 clf;
389389
390390 subplot(2,2, 1);
437437
438438 fprintf(1, 'Visualisoidaan...\n');
439439 t_start = tic;
440 [X,T] = meshgrid(s.xx, 0:dt_vis:s.tmax);
440441
442 % Kuva 1 - konsentraatiot ja void fraction
443 %
441444 figure(1);
442445 clf;
443446
444 [X,T] = meshgrid(s.xx, 0:dt_vis:s.tmax);
447 subplot(3,1, 1);
448 f_plot(T, X, ys(:,s.I_cA));
449 if ~isempty(f_postplot)
450 f_postplot();
451 end
452 xlabel('t');
453 ylabel('x');
454 title('c_A(x,t)');
455 compat.colorbar('EastOutside');
456 axis tight;
445457
446 subplot(2,2, 1);
447 f_plot(T, X, ys(:,s.I_p));
458 subplot(3,1, 2);
459 f_plot(T, X, ys(:,s.I_cB));
448460 if ~isempty(f_postplot)
449461 f_postplot();
450462 end
451463 xlabel('t');
452464 ylabel('x');
453 title('p(x,t)');
454 compat.colorbar('SouthOutside');
465 title('c_B(x,t)');
466 compat.colorbar('EastOutside');
455467 axis tight;
456468
457 % Huom. MATLABin/Octaven rajoitus: vain yksi colormap per figure, vaikka olisi subplottejakin.
458 % Asetamme tämän siis vain kerran.
459 colormap(cm);
460
461 subplot(2,2, 2);
469 subplot(3,1, 3);
462470 phi_ys = s.phi_0 + ( (s.cB0 - ys(:,s.I_cB)) / s.cB0 ) * ( s.phi_infty - s.phi_0 );
463471 f_plot(T, X, phi_ys);
464472 if ~isempty(f_postplot)
476476 ylabel('x');
477477 title('\phi(x,t)');
478478 caxis([0 1]); % ehkä havainnollisempi phi:lle kuin pelkkä toteutunut alue
479 compat.colorbar('SouthOutside');
479 compat.colorbar('EastOutside');
480480 axis tight;
481481
482 subplot(2,2, 3);
483 f_plot(T, X, ys(:,s.I_cA));
482 % Kuva 2 - paine- ja nopeuskentät
483 %
484 figure(2);
485 clf;
486
487 subplot(2,1, 1);
488 f_plot(T, X, ys(:,s.I_p));
484489 if ~isempty(f_postplot)
485490 f_postplot();
486491 end
487492 xlabel('t');
488493 ylabel('x');
489 title('c_A(x,t)');
490 compat.colorbar('SouthOutside');
494 title('p(x,t)');
495 compat.colorbar('EastOutside');
491496 axis tight;
492497
493 subplot(2,2, 4);
494 f_plot(T, X, ys(:,s.I_cB));
498 % Huom. MATLABin/Octaven rajoitus: vain yksi colormap per figure, vaikka olisi subplottejakin.
499 % Asetamme tämän siis vain kerran per figure.
500 colormap(cm);
501
502 subplot(2,1, 2);
503 p_x = zeros(nt_vis, s.nx);
504 for k = 1:nt_vis
505 p_x(k,:) = (ddx( ys(k,s.I_p)', s.h ))';
506 end
507 v = -(s.kappa / s.mu) .* p_x ./ phi_ys; % nopeuskenttä Darcyn laista
508 f_plot(T, X, v);
495509 if ~isempty(f_postplot)
496510 f_postplot();
497511 end
498512 xlabel('t');
499513 ylabel('x');
500 title('c_B(x,t)');
501 compat.colorbar('SouthOutside');
514 title('v(x,t)');
515 compat.colorbar('EastOutside');
502516 axis tight;
503517
504518 t_elapsed = compat.toc(t_start);