rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
comsol_save.m
1 function comsol_save(savename, varargin)
2 %function comsol_save(savename, varargin)
3 %
4 % function saving data, also saves the comsol model in an extra
5 % file called 'savename_cmodel.mph'
6 %
7 % Oliver Zeeb 2012/11/29
8 
9 if nargin == 1
10  varargin = evalin('caller','who;');
11 end
12 
13 saved_cmodel = 0;
14 for k = 1 :length(varargin)
15 
16  %Wenn irgendeins der übergebenden Daten ein struct ist: schaue ob dort ein comsol_model drinsteckt:
17  %falls ja: abspeichern!!!
18 
19  if ((saved_cmodel == 0) && (evalin('caller',['isstruct(',varargin{k},')'])))
20  if (evalin('caller',['isfield(',varargin{k},',''comsol_model'')']))
21  %if isfield(eval(varargin{k}), 'comsol_model')
22  evalin('caller',['mphsave(',varargin{k},'.comsol_model,''',[savename,'_cmodel.mph'],''')']);
23  saved_cmodel = 1;
24  end
25  end
26 
27 % % save the comsol model only if not yet saved!
28 % if (saved_cmodel == 0 &&( strcmp(varargin(k), 'model_data') || strcmp(varargin(k), 'detailed_data')))
29 % evalin('caller',['mphsave(',varargin{k},'.comsol_model,''',savename,'_cmodel.mph'')']);
30 % saved_cmodel = 1;
31 % end
32 end
33 
34 warning('off'); %suppress warnings because cmodel-object cannot be saved via 'save'
35 savestring = [];
36 for k = 1 :length(varargin)
37  savestring = [savestring,' ', varargin{k}];
38 end
39 evalin('caller',['save ', savename, savestring])
40 warning('on');