1 function v = comsol_operators_output_default(model,model_data)
2 %
function v = comsol_operators_output_default(model,model_data)
4 % This
function returns the output defined in the COMSOL model as
for
5 % example a line integral (in comsol_model.result.numerical. ...).
7 % PLEASE WRITE AN OWN OUTPUT FUNCTION FOR EVERY MODEL THAT SUPPORTS THE
8 % THE FIELD model.use_comsol=0/1;
9 % See
for example the functions used
for the
ThermalBlock models!
11 %This
function is
for linear output functionals with no
explicit mu-dependency
12 %and therefor no affine decomposition!!!
16 switch model.decomp_mode
18 error(
'not yet implemented')
19 % is
this case needed???
21 case 1 %model_data is detailed_data
22 %store original solution:
23 u_save = model_data.comsol_model.sol(model.comsol_tags.sol).getU;
24 %calculate the output
for every basis
function:
25 v_comp = zeros(size(model_data.RB,2),1);
26 for k = 1:size(model_data.RB,2)
27 model_data.comsol_model.sol(model.comsol_tags.sol).setU(model_data.RB(:,k));
28 model_data.comsol_model.sol(model.comsol_tags.sol).createSolution;
29 v_comp(k) = model_data.comsol_model.result.numerical(model.comsol_tags.output).getReal();
32 %reset to original solution:
33 model_data.comsol_model.sol(model.comsol_tags.sol).setU(u_save);
34 model_data.comsol_model.sol(model.comsol_tags.sol).updateSolution;