rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
lin_evol_primal_dual_rb_simulation.m
Go to the documentation of this file.
1 function simulation_data = lin_evol_primal_dual_rb_simulation(model, reduced_data)
2 %simulation_data = lin_evol_primal_dual_rb_simulation(model, reduced_data)
3 %
4 % function which first computes a dual rb_simulation using dual
5 % reduced_data and afterwards computes a primal improved rb_simulation
6 % using primal improved reduced_data. This finally yields the improved
7 % output and improved output estimator!
8 %
9 % simulation_data yields the final results:
10 % - primal rb coefficients
11 % - primal energy error estimator
12 % - improved output
13 % - improved output estimator
14 
15 % Dominik Garmatter 06.09 2012
16 
17 
18 % first split up the reduced_data in the dual and primal improved parts
19 [reduced_data_primal_improved, reduced_data_dual] = lin_evol_split_reduced_data(reduced_data);
20 % you want the energy error for the improved output estimator
21 if ~strcmp(model.error_norm ,'energy')
22  warning('Primal dual error estimator only implemented for energy error norm');
23  model.error_norm = 'energy';
24 end
25 % do a dual rb_simulation to recieve the dual rb coefficients and the dual
26 % energy error estimator - both required for the improved output and
27 % improved output estimator
28 model.want_dual = 1;
29 rb_sim_data_dual = lin_evol_rb_simulation_primal_dual(model, reduced_data_dual);
30 % now do an improved primal rb_simulation
31 model.want_dual = 0;
32 model.want_improved_output = 1;
33 % the dual rb coefficients and the dual energy error estimator are required
34 % for the improved simulation
35 reduced_data_primal_improved.dual_sim_data = rb_sim_data_dual.a;
36 reduced_data_primal_improved.dual_Delta = rb_sim_data_dual.Delta;
37 simulation_data = lin_evol_rb_simulation_primal_dual(model, reduced_data_primal_improved);
function simulation_data = lin_evol_primal_dual_rb_simulation(model, reduced_data)
simulation_data = lin_evol_primal_dual_rb_simulation(model, reduced_data)
function simulation_data = lin_evol_rb_simulation_primal_dual(model, reduced_data)
simulation_data = lin_evol_rb_simulation_primal_dual(model, reduced_data)
function [ reduced_data_primal_improved , reduced_data_dual ] = lin_evol_split_reduced_data(reduced_data)
[reduced_data_primal_improved, reduced_data_dual] = lin_evol_split_reduced_data(reduced_data) ...