0001 function displayresults(md)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 disp(sprintf(' Results:'));
0012 disp(sprintf(' ''%s''','diagnostic'));
0013 if isempty(md.vx), disp(sprintf(' vx: N/A')); else disp(sprintf(' vx [m/a]: (%i)',length(md.vx))); end
0014 if isempty(md.vy), disp(sprintf(' vy: N/A')); else disp(sprintf(' vy [m/a]: (%i)',length(md.vy))); end
0015 if isempty(md.vz), disp(sprintf(' vz: N/A')); else disp(sprintf(' vz [m/a]: (%i)',length(md.vz))); end
0016 if isempty(md.vel), disp(sprintf(' vel: N/A')); else disp(sprintf(' vel [m/a]: (%i)',length(md.vel))); end
0017 if isempty(md.pressure), disp(sprintf(' pressure: N/A')); else disp(sprintf(' pressure [Pa]: (%i)',length(md.pressure))); end
0018 if isempty(md.viscousheating), disp(sprintf(' viscousheating: N/A')); else disp(sprintf(' viscousheating [Pa]: (%i)',length(md.viscousheating))); end
0019 if ~isstruct(md.stress), disp(sprintf(' stress: N/A'));
0020 else
0021 disp(sprintf(' stress [Pa]:'))
0022 struct_display(md.stress,' ');
0023 end
0024 if ~isstruct(md.deviatoricstress), disp(sprintf(' deviatoricstress: N/A'));
0025 else
0026 disp(sprintf(' deviatoricstress [Pa]:'))
0027 struct_display(md.deviatoricstress,' ');
0028 end
0029 if ~isstruct(md.strainrate), disp(sprintf(' strainrate: N/A'));
0030 else
0031 disp(sprintf(' strainrate [1/a]:'))
0032 struct_display(md.strainrate,' ');
0033 end
0034
0035 disp(sprintf(' ''%s''','transient'));
0036 if ~isstruct(md.transient_results), disp(sprintf(' transient_results: N/A'));
0037 else
0038 struct_display(md.transient_results,' ');
0039 end
0040
0041 disp(sprintf(' ''%s''','control method'));
0042 if isempty(md.cont_vx), disp(sprintf(' cont_vx: N/A')); else disp(sprintf(' cont_vx [m/a]: (%i)',length(md.cont_vx))); end
0043 if isempty(md.cont_vy), disp(sprintf(' cont_vy: N/A')); else disp(sprintf(' cont_vy [m/a]: (%i)',length(md.cont_vy))); end
0044 if isempty(md.cont_vz), disp(sprintf(' cont_vz: N/A')); else disp(sprintf(' cont_vz [m/a]: (%i)',length(md.cont_vz))); end
0045 if isempty(md.cont_vel), disp(sprintf(' cont_vel: N/A')); else disp(sprintf(' cont_vel [m/a]: (%i)',length(md.cont_vel))); end
0046 if isempty(md.cont_parameters), disp(sprintf(' cont_parameters: N/A')); else disp(sprintf(' cont_parameters: (%i)',length(md.cont_parameters))); end
0047 if isempty(md.cont_J), disp(sprintf(' cont_J: N/A')); else disp(sprintf(' cont_J: (%i)',length(md.cont_J))); end
0048
0049
0050 disp(sprintf(' ''%s''','thermal'));
0051 if isempty(md.temperature), disp(sprintf(' temperature: N/A')); else disp(sprintf(' temperature [K]: (%i)',length(md.temperature))); end
0052 if ~isstruct(md.thermaltransient_results), disp(sprintf(' thermaltransient_results: N/A'));
0053 else
0054 struct_display(md.thermaltransient_results,' ');
0055 end
0056
0057 disp(sprintf(' ''%s''','mesh2grid'));
0058 if isempty(md.mesh2grid_results) | isnan(md.mesh2grid_results), disp(sprintf(' mesh2grid_results: N/A')); else disp(sprintf(' mesh2grid_results: (%i)',length(md.mesh2grid_results))); end
0059
0060 end
0061
0062 function struct_display(structure,offset)
0063 structure_fields=fields(structure);
0064 for i=1:length(structure_fields),
0065 disp(sprintf('%s',[offset ' ' structure_fields{i} ': (' num2str(size( eval([' structure.' structure_fields{i}]),1)) ')' ]));
0066 end
0067
0068 end