Changeset 1252
- Timestamp:
- 07/07/09 16:16:27 (16 years ago)
- Location:
- issm/trunk/src/m/classes
- Files:
-
- 6 added
- 1 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/@model/display.m
r1 r1252 5 5 6 6 disp(sprintf('\n%s = \n',inputname(1))); 7 disp(sprintf('%s%s%s',' Diagnostic solution parameters: type ''',inputname(1),'.diagnostic'' to display')); 8 disp(sprintf('%s%s%s',' Thermal solution parameters: type ''',inputname(1),'.thermal'' to display')); 9 disp(sprintf('%s%s%s',' Prognostic solution parameters: type ''',inputname(1),'.prognostic'' to display')); 10 disp(sprintf('%s%s%s',' Transient solution parameters: type ''',inputname(1),'.transient'' to display')); 11 disp(sprintf('%s%s%s',' Control solution parameters: type ''',inputname(1),'.control'' to display')); 12 disp(sprintf('%s%s%s',' Mesh2grid solution parameters: type ''',inputname(1),'.mesh2grid'' to display')); 7 13 disp(sprintf('%s%s%s',' Mesh: type ''',inputname(1),'.mesh'' to display')); 8 14 disp(sprintf('%s%s%s',' Boundary conditions: type ''',inputname(1),'.bc'' to display')); 9 10 if(a.numrifts)disp(sprintf(' rifts: %i',a.numrifts));end11 12 15 disp(sprintf('%s%s%s',' Observations: type ''',inputname(1),'.obs'' to display')); 13 16 disp(sprintf('%s%s%s',' Materials: type ''',inputname(1),'.mat'' to display')); 14 17 disp(sprintf('%s%s%s',' Parameters: type ''',inputname(1),'.par'' to display')); 15 disp(sprintf('%s%s%s',' Solution parameters: type ''',inputname(1),'.solpar'' to display'));16 18 disp(sprintf('%s%s%s',' Results: type ''',inputname(1),'.res'' to display')); 17 19 disp(sprintf('%s%s%s',' ExpPar: type ''',inputname(1),'.exppar'' to display')); 18 20 disp(sprintf('%s%s%s',' Qmu: type ''',inputname(1),'.qmu'' to display')); 21 if(a.numrifts)disp(sprintf(' rifts: %i',a.numrifts));end 19 22 20 23 %Diverse … … 51 54 disp(sprintf(' repository: %s',a.repository)); 52 55 end 53 54 55 end56 57 function struct_display(structure,offset)58 disp(sprintf('%s',[offset '1x' num2str(size(structure,2)) ' struct array with fields:']));59 structure_fields=fields(structure);60 for i=1:length(structure_fields),61 disp(sprintf('%s',[offset ' ' structure_fields{i}]));62 end63 64 end -
issm/trunk/src/m/classes/@model/subsref.m
r1 r1252 11 11 index1=index(1); 12 12 if(strcmp(index1.subs,'res')), displayresults(md);return; end 13 if(strcmp(index1.subs,'solpar')), displaysolutionparameters(md);return; end 13 if(strcmp(index1.subs,'parallel')), displayparallel(md);return; end 14 if(strcmp(index1.subs,'diagnostic')), displaydiagnostic(md);return; end 15 if(strcmp(index1.subs,'prognostic')), displayprognostic(md);return; end 16 if(strcmp(index1.subs,'thermal')), displaythermal(md);return; end 17 if(strcmp(index1.subs,'transient')), displaytransient(md);return; end 18 if(strcmp(index1.subs,'control')), displaycontrol(md);return; end 19 if(strcmp(index1.subs,'mesh2grid')), displaymesh2grid(md);return; end 14 20 if(strcmp(index1.subs,'bc')), displaybc(md);return; end 15 21 if(strcmp(index1.subs,'mesh')), displaymesh(md);return; end 16 22 if(strcmp(index1.subs,'par')), displayparameters(md);return; end 17 if(strcmp(index1.subs,'parallel')), displayparallel(md);return; end18 if(strcmp(index1.subs,'control')), displaycontrol(md);return; end19 23 if(strcmp(index1.subs,'exppar')), displayexppar(md);return; end 20 24 if(strcmp(index1.subs,'obs')), displayobservations(md);return; end -
issm/trunk/src/m/classes/public/display/displaybc.m
r1251 r1252 12 12 13 13 disp(sprintf('\n geography:')); 14 disp(sprintf(' gridonboundary: (%i)',length(md.gridonboundary)));15 disp(sprintf(' elementoniceshelf: (%i)',length(md.elementoniceshelf)));16 disp(sprintf(' gridoniceshelf: (%i)',length(md.gridoniceshelf)));17 disp(sprintf(' elementonicesheet: (%i)',length(md.elementonicesheet)));18 disp(sprintf(' gridonicesheet: (%i)',length(md.gridonicesheet)));14 fielddisplay(md,' ','gridonboundary','grid on boundary flags list'); 15 fielddisplay(md,' ','elementoniceshelf','element on ice shelf flags list'); 16 fielddisplay(md,' ','gridoniceshelf','grid on ice shelf flags list'); 17 fielddisplay(md,' ','elementonicesheet','element on ice sheet flags list'); 18 fielddisplay(md,' ','gridonicesheet','grid on ice sheet flags list'); 19 19 20 20 disp(sprintf('\n diagnostic:')); 21 disp(sprintf(' gridondirichlet_diag: (%i)',length(md.gridondirichlet_diag)));22 disp(sprintf(' dirichletvalues_diag [m/a]: (%i,%i)',length(md.dirichletvalues_diag),2));23 disp(sprintf(' segmentonneumann_diag: (%i)',length(md.segmentonneumann_diag)));24 disp(sprintf(' neumannvalues_diag [N]: (%i)',length(md.neumannvalues_diag)));21 fielddisplay(md,' ','gridondirichlet_diag','grid on dirichlet flags list'); 22 fielddisplay(md,' ','dirichletvalues_diag','values of the dirichlet [m/a]'); 23 fielddisplay(md,' ','segmentonneumann_diag','segments on ice front list'); 24 fielddisplay(md,' ','neumannvalues_diag','values of the Neumann [N]'); 25 25 26 26 disp(sprintf('\n prognostic:')); 27 disp(sprintf(' gridondirichlet_prog: (%i)',length(md.gridondirichlet_prog))); 28 disp(sprintf(' dirichletvalues_prog [m/a]: (%i)',length(md.dirichletvalues_prog))); 29 disp(sprintf(' segmentonneumann_prog (flux): (%i)',length(md.segmentonneumann_prog))); 30 disp(sprintf(' neumannvalues_prog [N]: (%i)',length(md.neumannvalues_prog))); 31 disp(sprintf(' segmentonneumann_prog2 (thickness gradient): (%i)',length(md.segmentonneumann_prog2))); 32 disp(sprintf(' neumannvalues_prog2 [N]: (%i)',length(md.neumannvalues_prog2))); 27 fielddisplay(md,' ','gridondirichlet_prog','grid on dirichlet flags list'); 28 fielddisplay(md,' ','dirichletvalues_prog','values of the dirichlet [m]'); 29 fielddisplay(md,' ','segmentonneumann_prog','segments on ice front list'); 30 fielddisplay(md,' ','neumannvalues_prog','values of the Neumann [m/a]'); 33 31 34 32 disp(sprintf('\n thermal:')); 35 disp(sprintf(' gridondirichlet_thermal: (%i)',length(md.gridondirichlet_thermal)));36 disp(sprintf(' dirichletvalues_thermal [K]: (%i)',length(md.dirichletvalues_thermal)));37 disp(sprintf(' melting [m/a]: (%i)',length(md.melting)));33 fielddisplay(md,' ','gridondirichlet_thermal','grid on dirichlet flags list'); 34 fielddisplay(md,' ','dirichletvalues_thermal','values of the dirichlet [m]'); 35 fielddisplay(md,' ','melting','melting rate [m/a]'); -
issm/trunk/src/m/classes/public/display/displaycontrol.m
r1251 r1252 11 11 disp(sprintf(' Control:\n')); 12 12 13 disp(sprintf(' control_type: %s %s',md.control_type,'(parameter where inverse control is carried out; ex: ''drag'', or ''B'')'));14 disp(sprintf(' fit: (%i) (''absolute: 0'', ''relative: 1'', or ''logarithmic: 2''. default is ''absolute: 0'', for each optimization steps)',length(md.fit)));15 disp(sprintf(' meanvel: %g (velocity scaling factor when evaluating relative or logarithmic misfit)',md.meanvel));16 disp(sprintf(' epsvel: %g ( for relative fit, avoids misfit becoming infinity, for logarithmic fit, threshold for velocity)',md.epsvel));17 disp(sprintf(' nsteps: %i (number of optimization searches)',md.nsteps));18 disp(sprintf(' optscal: (%i %i) (scaling factor on gradient direction during optimization, for each optimization step)',size(md.optscal,1),size(md.optscal,2)));19 disp(sprintf(' mincontrolconstraint: %g (minimum contraint for the controlled parameters)',md.mincontrolconstraint));20 disp(sprintf(' maxcontrolconstraint: %g (maximum contraint for the controlled parameters)',md.maxcontrolconstraint));21 disp(sprintf(' maxiter: (%i) (maximum iterations during each optimization step)',length(md.maxiter)));22 disp(sprintf(' tolx: %f (minimum tolerance which will stop one optimization search)',md.tolx));23 disp(sprintf(' plot: %i (visualization of the results of each iteration yes -> 1 no -> 0. Default is 1)',md.plot));13 fielddisplay(md,' ','control_type','parameter where inverse control is carried out; ex: ''drag'', or ''B'')'); 14 fielddisplay(md,' ','nsteps','number of optimization searches'); 15 fielddisplay(md,' ','optscal','scaling factor on gradient direction during optimization, for each optimization step'); 16 fielddisplay(md,' ','fit','''absolute: 0'', ''relative: 1'', or ''logarithmic: 2''. default is ''absolute: 0'', for each optimization steps'); 17 fielddisplay(md,' ','maxiter','maximum iterations during each optimization step'); 18 fielddisplay(md,' ','tolx','minimum tolerance which will stop one optimization search'); 19 fielddisplay(md,' ','mincontrolconstraint','minimum contraint for the controlled parameters'); 20 fielddisplay(md,' ','maxcontrolconstraint','maximum contraint for the controlled parameters'); 21 fielddisplay(md,' ','meanvel','velocity scaling factor when evaluating relative or logarithmic misfit'); 22 fielddisplay(md,' ','epsvel','for relative fit, avoids misfit becoming infinity, for logarithmic fit, threshold for velocity'); 23 fielddisplay(md,' ','plot','visualization of the results of each iteration yes -> 1 no -> 0. Default is 1'); -
issm/trunk/src/m/classes/public/display/displayexppar.m
r1251 r1252 10 10 11 11 disp(sprintf('\n Outlines:')); 12 if isnan(md.domainoutline), 13 disp(sprintf(' domainoutline: N/A')); 14 else 15 disp(sprintf(' domainoutline: not displayed (can be accessed by typing md.domainoutline)')); 16 end 17 if isnan(md.riftoutline), 18 disp(sprintf(' riftoutline: N/A')); 19 else 20 disp(sprintf(' riftoutline: not displayed (can be accessed by typing md.riftoutline)')); 21 end 22 if isnan(md.iceshelfoutline), 23 disp(sprintf(' iceshelfoutline: N/A')); 24 else 25 disp(sprintf(' iceshelfoutline: not displayed (can be accessed by typing md.iceshelfoutline)')); 26 end 27 if isnan(md.icesheetoutline), 28 disp(sprintf(' icesheetoutline: N/A')); 29 else 30 disp(sprintf(' icesheetoutline: not displayed (can be accessed by typing md.icesheetoutline)')); 31 end 12 fielddisplay(md,' ','domainoutline','domain outline Argus file'); 13 fielddisplay(md,' ','riftoutline','rift outline Argus file'); 14 fielddisplay(md,' ','iceshelfoutline','ice shelf outline Argus file'); 15 fielddisplay(md,' ','icesheetoutline','ice sheet outline Argus file'); 32 16 33 17 disp(sprintf('\n Model files:')); 34 if isnan(md.parameterfile), 35 disp(sprintf(' parameterfile: N/A')); 36 else 37 disp(sprintf(' parameterfile: not displayed (can be accessed by typing md.parameterfile)')); 38 end 18 fielddisplay(md,' ','parameterfile','parameter file content'); -
issm/trunk/src/m/classes/public/display/displaymaterials.m
r1251 r1252 11 11 disp(sprintf(' Materials:\n')); 12 12 13 disp(sprintf(' rho_ice: %g [kg/m^3]',md.rho_ice)); 14 disp(sprintf(' rho_water: %g [kg/m^3]',md.rho_water)); 15 if isempty(md.B), disp(sprintf(' B: N/A (flow law parameter)')); else disp(sprintf(' B: (%i) (flow law parameter [Pa/s^(1/n)])',length(md.B))); end 16 if isempty(md.n), disp(sprintf(' n: N/A (flow law coefficient)')); else disp(sprintf(' n: (%i) (flow law coefficient)',length(md.n))); end 17 disp(sprintf(' heatcapacity: %g [J/kg/K]',md.heatcapacity)); 18 disp(sprintf(' thermalconductivity: %g [W/m/K]',md.thermalconductivity)); 19 disp(sprintf(' meltingpoint: %g [K] (melting point of ice at 1atm in K)',md.meltingpoint)); 20 disp(sprintf(' latentheat: %g [J/kg] (latent heat of fusion)',md.latentheat)); 21 disp(sprintf(' beta: %g [K/Pa]',md.beta)); 22 disp(sprintf(' mixed_layer_capacity: %g [W/kg/K]',md.mixed_layer_capacity)); 23 disp(sprintf(' thermal_exchange_velocity: %g [m/s]',md.thermal_exchange_velocity)); 13 fielddisplay(md,' ','rho_ice','ice density [kg/m^3]'); 14 fielddisplay(md,' ','rho_water','water density [kg/m^3]'); 15 fielddisplay(md,' ','B','flow law parameter [Pa/s^(1/n)]'); 16 fielddisplay(md,' ','heatcapacity','heat capacity [J/kg/K]'); 17 fielddisplay(md,' ','thermalconductivity','ice thermal conductivity [W/m/K]'); 18 fielddisplay(md,' ','meltingpoint','melting point of ice at 1atm in K'); 19 fielddisplay(md,' ','latentheat','latent heat of fusion [J/m^3]'); 20 fielddisplay(md,' ','beta','rate of change of melting point with pressure [K/Pa]'); 21 fielddisplay(md,' ','mixed_layer_capacity','mixed layer capacity [W/kg/K]'); 22 fielddisplay(md,' ','thermal_exchange_velocity','thermal exchange velocity [m/s]'); -
issm/trunk/src/m/classes/public/display/displaymesh.m
r1251 r1252 14 14 15 15 disp(sprintf('\n Elements and nodes of the original 2d mesh:')); 16 disp(sprintf(' numberofelements2d: %i (number of elements)',md.numberofelements2d));17 disp(sprintf(' numberofgrids2d: %i (number of nodes)',md.numberofgrids2d));18 disp(sprintf(' elements2d: (%i-%i) (index into (x,y,z), coordinates of the grids)',md.numberofelements2d,size(md.elements2d,2)));19 disp(sprintf(' elements_type2d: (%i) (element types, according to number of grids)',md.numberofelements2d));20 disp(sprintf(' x2d: (%i) (node x coordinates)',length(md.x2d)));21 disp(sprintf(' y2d: (%i) (node y coordinates)',length(md.y2d)));22 disp(sprintf(' z2d: (%i) (node z coordinates)',length(md.z2d)));16 fielddisplay(md,' ','numberofelements2d','number of elements'); 17 fielddisplay(md,' ','numberofgrids2d','number of nodes'); 18 fielddisplay(md,' ','elements2d','index into (x,y,z), coordinates of the grids'); 19 fielddisplay(md,' ','elements_type2d','element types'); 20 fielddisplay(md,' ','x2d','nodes x coordinate'); 21 fielddisplay(md,' ','y2d','nodes y coordinate'); 22 fielddisplay(md,' ','z2d','nodes z coordinate'); 23 23 24 24 disp(sprintf('\n Elements and nodes of the extruded 3d mesh:')); 25 25 else 26 27 26 disp(sprintf('\n Elements and nodes:')); 28 27 end 29 30 disp(sprintf(' numberofelements: %i (number of elements)',md.numberofelements)); 31 disp(sprintf(' numberofgrids: %i (number of nodes)',md.numberofgrids)); 32 if ~isnan(md.dof), disp(sprintf(' dof: %i (maximum number of dofs solved)',md.dof)); end 33 disp(sprintf(' elements: (%i-%i) (index into (x,y,z), coordinates of the grids)',md.numberofelements,size(md.elements,2))); 34 disp(sprintf(' elements_type: (%i) (element types, according to number of grids)',md.numberofelements)); 35 disp(sprintf(' x: (%i) (node x coordinates)',length(md.x))); 36 disp(sprintf(' y: (%i) (node y coordinates)',length(md.y))); 37 disp(sprintf(' z: (%i) (node z coordinates)',length(md.z))); 38 disp(sprintf(' numlayers: %i (number of extrusion layers)',md.numlayers)); 28 fielddisplay(md,' ','numberofelements','number of elements'); 29 fielddisplay(md,' ','numberofgrids','number of nodes'); 30 fielddisplay(md,' ','elements','index into (x,y,z), coordinates of the grids'); 31 fielddisplay(md,' ','elements_type','element types'); 32 fielddisplay(md,' ','x','nodes x coordinate'); 33 fielddisplay(md,' ','y','nodes y coordinate'); 34 fielddisplay(md,' ','z','nodes z coordinate'); 35 fielddisplay(md,' ','numlayers','number of extrusion layers'); 36 fielddisplay(md,' ','dof','maximum number of dofs solved'); 39 37 40 38 disp(sprintf('\n Properties:')); 41 disp(sprintf(' type: %s',md.type));42 disp(sprintf(' Penalties: (%i-%i))',size(md.penalties,1),size(md.penalties,2)));43 disp(sprintf(' gridonbed: (%i) (lower nodes flags list)',length(md.gridonbed)));44 disp(sprintf(' gridonsurface: (%i) (upper nodes flags list)',length(md.gridonsurface)));45 disp(sprintf(' elementonbed: (%i) (lower elements flags list)',length(md.elementonbed)));46 disp(sprintf(' elementonsurface: (%i) (upper elements flags list)',length(md.elementonsurface)));39 fielddisplay(md,' ','type','mesh type'); 40 fielddisplay(md,' ','penalties','penalties list'); 41 fielddisplay(md,' ','gridonbed','lower nodes flags list'); 42 fielddisplay(md,' ','elementonbed','lower elements flags list'); 43 fielddisplay(md,' ','gridonsurface','upper nodes flags list'); 44 fielddisplay(md,' ','elementonsurface','upper elements flags list'); -
issm/trunk/src/m/classes/public/display/displayobservations.m
r1251 r1252 11 11 disp(sprintf(' Observations:\n')); 12 12 13 disp(sprintf(' vx_obs [m/a]: (%i)',length(md.vx_obs)));14 disp(sprintf(' vy_obs [m/a]: (%i)',length(md.vy_obs)));15 disp(sprintf(' vel_obs [m/a]: (%i)',length(md.vel_obs)));16 disp(sprintf(' accumulation [m/a]: (%i)',length(md.accumulation)));17 disp(sprintf(' observed_temperature [K]: (%i)',length(md.observed_temperature)));18 disp(sprintf(' geothermalflux [W/m^2]: (%i)',length(md.geothermalflux)));13 fielddisplay(md,' ','vx_obs','observed velocity x component [m/a]'); 14 fielddisplay(md,' ','vy_obs','observed velocity y component [m/a]'); 15 fielddisplay(md,' ','vel_obs','observed velocity magnitude [m/a]'); 16 fielddisplay(md,' ','accumulation','surface accumulation rate [m/a]'); 17 fielddisplay(md,' ','observed_temperature','observed temperature [K]'); 18 fielddisplay(md,' ','geothermalflux','geothermal heat flux [W/m^2]'); -
issm/trunk/src/m/classes/public/display/displayparallel.m
r1251 r1252 12 12 13 13 disp(sprintf('\n parallelisation:')); 14 disp(sprintf(' cluster: %s (set to ''cluster_name'' to run in cluster, ''none'' to run serially)',md.cluster));15 disp(sprintf(' np: %i (number of CPUS requested on cluster)',md.np));16 disp(sprintf(' exclusive: %i (set to 1 if CPUS used are not to be shared with other users, 0 otherwise)',md.exclusive));17 disp(sprintf(' time: %i (amount of time requested on cluster)',md.time)); 18 disp(sprintf(' alloc_cleanup: %i (allocation cleanup before starting a job, default 1)',md.alloc_cleanup)); 19 disp(sprintf(' waitonlock: %i (wait for batch results 1, or return 0. default is to return )',md.waitonlock)); 20 disp(sprintf(' queue: %s (special queue name on cluster? default is '''')',md.queue));disp(sprintf('\n solver options:'));14 fielddisplay(md,' ','cluster','set to ''cluster_name'' to run in cluster, ''none'' to run serially'); 15 fielddisplay(md,' ','np','number of CPUS requested on cluster'); 16 fielddisplay(md,' ','exclusive','set to 1 if CPUS used are not to be shared with other users, 0 otherwise'); 17 fielddisplay(md,' ','time','amount of time requested on cluster'); 18 fielddisplay(md,' ','alloc_cleanup','allocation cleanup before starting a job, default 1'); 19 fielddisplay(md,' ','waitonlock','wait for batch results 1, or return 0. default is to return'); 20 fielddisplay(md,' ','queue','special queue name on cluster? default is '''' '); 21 21 22 disp(sprintf('\n solver options:')); 23 disp(sprintf(' ice')); 24 disp(sprintf(' solver_type: %s (solver type for Ice: ''general'', ''lu'' or ''cholesky'')',md.solver_type)); 25 disp(sprintf(' cielo')); 26 disp(sprintf(' solverstring: %s \n (solver string for Petsc. See solversetto... routines. Default is asm)',md.solverstring)); 22 disp(sprintf('\n ice solver options:')); 23 fielddisplay(md,' ','solver_type','solver type for Ice: ''general'', ''lu'' or ''cholesky'''); 24 disp(sprintf('\n cielo solver options:')); 25 fielddisplay(md,' ','solverstring','solver string for Petsc. See solversetto... routines. Default is mumps'); -
issm/trunk/src/m/classes/public/display/displayparameters.m
r1251 r1252 12 12 13 13 disp(sprintf('\n geometry:')); 14 if isempty(md.surface), disp(sprintf(' surface: N/A')); else disp(sprintf(' surface [m]: (%i)',length(md.surface))); end 15 if isempty(md.thickness), disp(sprintf(' thickness: N/A')); else disp(sprintf(' thickness [m]: (%i)',length(md.thickness))); end 16 if isempty(md.bed), disp(sprintf(' bed: N/A')); else disp(sprintf(' bed [m]: (%i)',length(md.bed))); end 17 if isempty(md.firn_layer), disp(sprintf(' firn_layer: N/A')); else disp(sprintf(' firn_layer [m]: (%i)',length(md.firn_layer))); end 18 if strcmpi(md.type,'3d'), disp(sprintf(' elementonbed: (%i)',length(md.elementonbed))); end 19 if strcmpi(md.type,'3d'), disp(sprintf(' elementonsurface: (%i)',length(md.elementonsurface))); end 20 if strcmpi(md.type,'3d'), disp(sprintf(' gridonbed: (%i)',length(md.gridonbed))); end 21 if strcmpi(md.type,'3d'), disp(sprintf(' gridonsurface: (%i)',length(md.gridonsurface))); end 14 fielddisplay(md,' ','surface','surface height [m]'); 15 fielddisplay(md,' ','thickness','thickness [m]'); 16 fielddisplay(md,' ','bed','bed height [m]'); 17 fielddisplay(md,' ','firn_layer','firn layer height [m]'); 18 fielddisplay(md,' ','elementonbed','element on bed flags list'); 19 fielddisplay(md,' ','elementonsurface','element on surface flags list'); 20 fielddisplay(md,' ','gridonbed','grid on bed flags list'); 21 fielddisplay(md,' ','gridonsurface','grid on surface flags list'); 22 22 23 23 disp(sprintf('\n physical parameters:')); 24 disp(sprintf(' g: %g [m/s^2]',md.g));24 fielddisplay(md,' ','g','acceleration due to gravity [m/s^2]'); 25 25 26 26 disp(sprintf('\n Friction parameters (Sigma= drag^2 * Neff ^r * u ^s, with Neff=rho_ice*g*thickness+rho_ice*g*bed, r=q/p and s=1/p)')); 27 disp(sprintf(' drag_type: %i (0: none, 1:plastic, 2:viscous):',md.drag_type)); 28 if isempty(md.drag), disp(sprintf(' drag: N/A')); else disp(sprintf(' drag: (%i)',length(md.drag))); end 29 disp(sprintf(' drag_type: %i (0: none, 1:plastic, 2:viscous):',md.drag_type)); 30 if isempty(md.p), disp(sprintf(' p: N/A')); else disp(sprintf(' p: (%i)',length(md.p))); end 31 if isempty(md.q), disp(sprintf(' q: N/A')); else disp(sprintf(' q: (%i)',length(md.q))); end 27 fielddisplay(md,' ','drag_type','0: none, 1:plastic, 2:viscous'); 28 fielddisplay(md,' ','drag','friction coefficient [IS]'); 29 fielddisplay(md,' ','p','p exponent'); 30 fielddisplay(md,' ','q','q exponent'); -
issm/trunk/src/m/classes/public/display/displayresults.m
r1251 r1252 11 11 disp(sprintf(' Results:')); 12 12 13 %call struct_display recursively on md.results 14 struct_display(md.results,'');13 disp(sprintf('\n solution results:')); 14 fielddisplay(md,' ','results',''); 15 15 16 %display output parameters17 16 disp(sprintf('\n output parameters:')); 18 if ~isstruct(md.stress), disp(sprintf(' stress: N/A')); 19 else 20 disp(sprintf(' stress [Pa]:')); 21 struct_display(md.stress,' '); 22 end 23 if ~isstruct(md.deviatoricstress), disp(sprintf(' deviatoricstress: N/A')); 24 else 25 disp(sprintf(' deviatoricstress [Pa]:')); 26 struct_display(md.deviatoricstress,' '); 27 end 28 if ~isstruct(md.strainrate), disp(sprintf(' strainrate: N/A')); 29 else 30 disp(sprintf(' strainrate [1/a]:')); 31 struct_display(md.strainrate,' '); 32 end 33 end 34 35 function struct_display(structure,offset) 36 structure_fields=fields(structure); 37 for i=1:length(structure_fields), 38 %recursive call if necessary 39 field=eval(['structure.' structure_fields{i}]); 40 if isstruct(field), 41 disp(sprintf('\n%s',[offset structure_fields{i} ':'])); 42 struct_display(field,[offset ' ']); 43 else 44 disp(sprintf('%s',[offset structure_fields{i} ': (' num2str(size(field,1)) ')' ])); 45 end 46 end 47 end 17 fielddisplay(md,' ','stress','stress [Pa]'); 18 fielddisplay(md,' ','deviatoricstress','deviatoric stress [Pa]'); 19 fielddisplay(md,' ','strainrate','strain rate [1/yr]');
Note:
See TracChangeset
for help on using the changeset viewer.