Changeset 1251
- Timestamp:
- 07/07/09 12:21:51 (15 years ago)
- Location:
- issm/trunk/src/m/classes/public/display
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/public/display/displaybc.m
r1249 r1251 9 9 % displaybc(md) 10 10 11 fprintf(' Boundary conditions:\n');11 disp(sprintf(' Boundary conditions:')); 12 12 13 fprintf('\n geography:\n');14 fprintf(' gridonboundary: (%i)\n',length(md.gridonboundary));15 fprintf(' elementoniceshelf: (%i)\n',length(md.elementoniceshelf));16 fprintf(' gridoniceshelf: (%i)\n',length(md.gridoniceshelf));17 fprintf(' elementonicesheet: (%i)\n',length(md.elementonicesheet));18 fprintf(' gridonicesheet: (%i)\n',length(md.gridonicesheet));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))); 19 19 20 fprintf('\n diagnostic:\n');21 fprintf(' gridondirichlet_diag: (%i)\n',length(md.gridondirichlet_diag));22 fprintf(' dirichletvalues_diag [m/a]: (%i,%i)\n',length(md.dirichletvalues_diag),2);23 fprintf(' segmentonneumann_diag: (%i)\n',length(md.segmentonneumann_diag));24 fprintf(' neumannvalues_diag [N]: (%i)\n',length(md.neumannvalues_diag));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))); 25 25 26 fprintf('\n prognostic:\n');27 fprintf(' gridondirichlet_prog: (%i)\n',length(md.gridondirichlet_prog));28 fprintf(' dirichletvalues_prog [m/a]: (%i)\n',length(md.dirichletvalues_prog));29 fprintf(' segmentonneumann_prog (flux): (%i)\n',length(md.segmentonneumann_prog));30 fprintf(' neumannvalues_prog [N]: (%i)\n',length(md.neumannvalues_prog));31 fprintf(' segmentonneumann_prog2 (thickness gradient): (%i)\n',length(md.segmentonneumann_prog2));32 fprintf(' neumannvalues_prog2 [N]: (%i)\n',length(md.neumannvalues_prog2));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))); 33 33 34 fprintf('\n thermal:\n');35 fprintf(' gridondirichlet_thermal: (%i)\n',length(md.gridondirichlet_thermal));36 fprintf(' dirichletvalues_thermal [K]: (%i)\n',length(md.dirichletvalues_thermal));37 fprintf(' melting [m/a]: (%i)\n',length(md.melting));34 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))); -
issm/trunk/src/m/classes/public/display/displaycontrol.m
r1249 r1251 9 9 % displaycontrol(md) 10 10 11 disp(sprintf(' ''%s''','control')); 12 %control type 13 control_string=''; 14 for i=1:length(md.control_type), 15 parameter=md.control_type{i}; 16 %check this parameter is a field from model! 17 if ~isfield(struct(md),parameter), 18 error('displaysolutionparameters error message: one of the control type parameters does not exist!'); 19 end 20 control_string=[control_string parameter ' and ']; 21 end 22 control_string=control_string(1:length(control_string)-5); 23 disp(sprintf(' control_type: %s %s',control_string,'(parameter where inverse control is carried out; ex: ''drag'', or ''B'')')); 24 disp(sprintf(' fit: (%i) (''absolute: 0'', ''relative: 1'', or ''logarithmic: 2''. default is ''absolute: 0'', for each optimization steps)',length(md.fit))); 25 disp(sprintf(' meanvel: %g (velocity scaling factor when evaluating relative or logarithmic misfit)',md.meanvel)); 26 disp(sprintf(' epsvel: %g ( for relative fit, avoids misfit becoming infinity, for logarithmic fit, threshold for velocity)',md.epsvel)); 27 disp(sprintf(' nsteps: %i (number of optimization searches)',md.nsteps)); 28 disp(sprintf(' optscal: (%i %i) (scaling factor on gradient direction during optimization, for each optimization step)',size(md.optscal,1),size(md.optscal,2))); 29 disp(sprintf(' mincontrolconstraint: %g (minimum contraint for the controlled parameters)',md.mincontrolconstraint)); 30 disp(sprintf(' maxcontrolconstraint: %g (maximum contraint for the controlled parameters)',md.maxcontrolconstraint)); 31 disp(sprintf(' maxiter: (%i) (maximum iterations during each optimization step)',length(md.maxiter))); 32 disp(sprintf(' tolx: %f (minimum tolerance which will stop one optimization search)',md.tolx)); 33 disp(sprintf(' plot: %i (visualization of the results of each iteration yes -> 1 no -> 0. Default is 1)',md.plot)); 11 disp(sprintf(' Control:\n')); 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)); -
issm/trunk/src/m/classes/public/display/displayexppar.m
r1249 r1251 9 9 % displayoutline(md) 10 10 11 fprintf('\n Outlines:\n'); 12 if isnan(md.domainoutline), fprintf(' domainoutline: N/A\n'); else fprintf(' domainoutline: not displayed (can be accessed by typing md.domainoutline)\n');end 13 if isnan(md.riftoutline), fprintf(' riftoutline: N/A\n'); else fprintf(' riftoutline: not displayed (can be accessed by typing md.riftoutline)\n');end 14 if isnan(md.iceshelfoutline), fprintf(' iceshelfoutline: N/A\n'); else fprintf(' iceshelfoutline: not displayed (can be accessed by typing md.iceshelfoutline)\n');end 15 if isnan(md.icesheetoutline), fprintf(' icesheetoutline: N/A\n'); else fprintf(' icesheetoutline: not displayed (can be accessed by typing md.icesheetoutline)\n');end 16 fprintf('\n Model files:\n'); 17 if isnan(md.parameterfile), fprintf(' parameterfile: N/A\n'); else fprintf(' parameterfile: not displayed (can be accessed by typing md.parameterfile)\n');end 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 32 33 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 -
issm/trunk/src/m/classes/public/display/displaymaterials.m
r1249 r1251 9 9 % displaymaterials(md) 10 10 11 fprintf(' Materials:\n'); 12 fprintf(' rho_ice: %g [kg/m^3]\n',md.rho_ice); 13 fprintf(' rho_water: %g [kg/m^3]\n',md.rho_water); 14 if isempty(md.B), fprintf(' B: N/A (flow law parameter)'); else fprintf(' B: (%i) (flow law parameter [Pa/s^(1/n)])\n',length(md.B)); end 15 if isempty(md.n), fprintf(' n: N/A (flow law coefficient)'); else fprintf(' n: (%i) (flow law coefficient)\n',length(md.n)); end 16 fprintf(' heatcapacity: %g [J/kg/K]\n',md.heatcapacity); 17 fprintf(' thermalconductivity: %g [W/m/K]\n',md.thermalconductivity); 18 fprintf(' meltingpoint: %g [K] (melting point of ice at 1atm in K)\n',md.meltingpoint); 19 fprintf(' latentheat: %g [J/kg] (latent heat of fusion)\n',md.latentheat); 20 fprintf(' beta: %g [K/Pa]\n',md.beta); 21 fprintf(' mixed_layer_capacity: %g [W/kg/K]\n',md.mixed_layer_capacity); 22 fprintf(' thermal_exchange_velocity: %g [m/s]\n',md.thermal_exchange_velocity); 11 disp(sprintf(' Materials:\n')); 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)); -
issm/trunk/src/m/classes/public/display/displaymesh.m
r1249 r1251 9 9 % displaymesh(md) 10 10 11 fprintf(' Mesh:\n');11 disp(sprintf(' Mesh:')); 12 12 13 13 if strcmpi(md.type,'3d'), 14 14 15 fprintf('\n Elements and nodes of the original 2d mesh:\n');16 fprintf(' numberofelements2d: %i (number of elements)\n',md.numberofelements2d);17 fprintf(' numberofgrids2d: %i (number of nodes)\n',md.numberofgrids2d);18 fprintf(' elements2d: (%i-%i) (index into (x,y,z), coordinates of the grids)\n',md.numberofelements2d,size(md.elements2d,2));19 fprintf(' elements_type2d: (%i) (element types, according to number of grids)\n',md.numberofelements2d);20 fprintf(' x2d: (%i) (node x coordinates)\n',length(md.x2d));21 fprintf(' y2d: (%i) (node y coordinates)\n',length(md.y2d));22 fprintf(' z2d: (%i) (node z coordinates)\n',length(md.z2d));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))); 23 23 24 fprintf('\n Elements and nodes of the extruded 3d mesh:\n');24 disp(sprintf('\n Elements and nodes of the extruded 3d mesh:')); 25 25 else 26 26 27 fprintf('\n Elements and nodes:\n');27 disp(sprintf('\n Elements and nodes:')); 28 28 end 29 29 30 fprintf(' numberofelements: %i (number of elements)\n',md.numberofelements);31 fprintf(' numberofgrids: %i (number of nodes)\n',md.numberofgrids);32 if ~isnan(md.dof), fprintf(' dof: %i (maximum number of dofs solved)\n',md.dof); end33 fprintf(' elements: (%i-%i) (index into (x,y,z), coordinates of the grids)\n',md.numberofelements,size(md.elements,2));34 fprintf(' elements_type: (%i) (element types, according to number of grids)\n',md.numberofelements);35 fprintf(' x: (%i) (node x coordinates)\n',length(md.x));36 fprintf(' y: (%i) (node y coordinates)\n',length(md.y));37 fprintf(' z: (%i) (node z coordinates)\n',length(md.z));38 fprintf(' numlayers: %i (number of extrusion layers)\n',md.numlayers);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)); 39 39 40 fprintf('\n Properties:\n');41 fprintf(' type: %s\n',md.type);42 fprintf(' Penalties: (%i-%i))\n',size(md.penalties,1),size(md.penalties,2));43 fprintf(' gridonbed: (%i) (lower nodes flags list)\n',length(md.gridonbed));44 fprintf(' gridonsurface: (%i) (upper nodes flags list)\n',length(md.gridonsurface));45 fprintf(' elementonbed: (%i) (lower elements flags list)\n',length(md.elementonbed));46 fprintf(' elementonsurface: (%i) (upper elements flags list)\n',length(md.elementonsurface));40 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))); -
issm/trunk/src/m/classes/public/display/displayobservations.m
r1249 r1251 9 9 % displayobservations(md) 10 10 11 fprintf(' Observations:\n'); 12 fprintf(' vx_obs [m/a]: (%i)\n',length(md.vx_obs)); 13 fprintf(' vy_obs [m/a]: (%i)\n',length(md.vy_obs)); 14 fprintf(' vel_obs [m/a]: (%i)\n',length(md.vel_obs)); 15 fprintf(' accumulation [m/a]: (%i)\n',length(md.accumulation)); 16 fprintf(' observed_temperature [K]: (%i)\n',length(md.observed_temperature)); 17 fprintf(' geothermalflux [W/m^2]: (%i)\n',length(md.geothermalflux)); 11 disp(sprintf(' Observations:\n')); 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))); -
issm/trunk/src/m/classes/public/display/displayparallel.m
r1249 r1251 9 9 % displayparallel(md) 10 10 11 fprintf('\n parallelisation:\n'); 12 fprintf(' cluster: %s (set to ''cluster_name'' to run in cluster, ''none'' to run serially)\n',md.cluster); 13 fprintf(' np: %i (number of CPUS requested on cluster)\n',md.np); 14 fprintf(' exclusive: %i (set to 1 if CPUS used are not to be shared with other users, 0 otherwise)\n',md.exclusive); 15 fprintf(' time: %i (amount of time requested on cluster)\n',md.time); 16 fprintf(' alloc_cleanup: %i (allocation cleanup before starting a job, default 1)\n',md.alloc_cleanup); 17 fprintf(' waitonlock: %i (wait for batch results 1, or return 0. default is to return )\n',md.waitonlock); 18 fprintf(' queue: %s (special queue name on cluster? default is '''')\n',md.queue); fprintf('\n solver options:\n');11 disp(sprintf(' parallel computation parameters:')); 19 12 20 fprintf('\n solver options:\n'); 21 fprintf(' ice\n'); 22 fprintf(' solver_type: %s (solver type for Ice: ''lu'' or ''cholesky'')\n',md.solver_type); 23 fprintf(' cielo\n'); 24 fprintf(' solverstring: %s \n (solver string for Petsc. See solversetto... routines. Default is asm)\n',md.solverstring); 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:')); 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)); -
issm/trunk/src/m/classes/public/display/displayparameters.m
r1249 r1251 9 9 % displayparameters(md) 10 10 11 fprintf(' Parameters:\n');11 disp(sprintf(' Parameters:')); 12 12 13 fprintf('\n geometry:\n');14 if isempty(md.surface), fprintf(' surface: N/A'); else fprintf(' surface [m]: (%i)\n',length(md.surface)); end15 if isempty(md.thickness), fprintf(' thickness: N/A'); else fprintf(' thickness [m]: (%i)\n',length(md.thickness)); end16 if isempty(md.bed), fprintf(' bed: N/A'); else fprintf(' bed [m]: (%i)\n',length(md.bed)); end17 if isempty(md.firn_layer), fprintf(' firn_layer: N/A'); else fprintf(' firn_layer [m]: (%i)\n',length(md.firn_layer)); end18 if strcmpi(md.type,'3d'), fprintf(' elementonbed: (%i)\n',length(md.elementonbed)); end19 if strcmpi(md.type,'3d'), fprintf(' elementonsurface: (%i)\n',length(md.elementonsurface)); end20 if strcmpi(md.type,'3d'), fprintf(' gridonbed: (%i)\n',length(md.gridonbed)); end21 if strcmpi(md.type,'3d'), fprintf(' gridonsurface: (%i)\n',length(md.gridonsurface)); end13 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 22 22 23 fprintf('\n physical parameters:\n');24 fprintf(' g: %g [m/s^2]\n',md.g);23 disp(sprintf('\n physical parameters:')); 24 disp(sprintf(' g: %g [m/s^2]',md.g)); 25 25 26 fprintf('\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)\n');27 fprintf(' drag_type: %i (0: none, 1:plastic, 2:viscous):\n',md.drag_type);28 if isempty(md.drag), fprintf(' drag: N/A'); else fprintf(' drag: (%i)\n',length(md.drag)); end29 fprintf(' drag_type: %i (0: none, 1:plastic, 2:viscous):\n',md.drag_type);30 if isempty(md.p), fprintf(' p: N/A'); else fprintf(' p: (%i)\n',length(md.p)); end31 if isempty(md.q), fprintf(' q: N/A'); else fprintf(' q: (%i)\n',length(md.q)); end26 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 -
issm/trunk/src/m/classes/public/display/displayresults.m
r1249 r1251 9 9 % displayresults(md) 10 10 11 fprintf(' Results:\n');11 disp(sprintf(' Results:')); 12 12 13 13 %call struct_display recursively on md.results … … 15 15 16 16 %display output parameters 17 fprintf('\n output parameters:\n');18 if ~isstruct(md.stress), fprintf(' stress: N/A\n');17 disp(sprintf('\n output parameters:')); 18 if ~isstruct(md.stress), disp(sprintf(' stress: N/A')); 19 19 else 20 fprintf(' stress [Pa]:');20 disp(sprintf(' stress [Pa]:')); 21 21 struct_display(md.stress,' '); 22 22 end 23 if ~isstruct(md.deviatoricstress), fprintf(' deviatoricstress: N/A\n');23 if ~isstruct(md.deviatoricstress), disp(sprintf(' deviatoricstress: N/A')); 24 24 else 25 fprintf(' deviatoricstress [Pa]:');25 disp(sprintf(' deviatoricstress [Pa]:')); 26 26 struct_display(md.deviatoricstress,' '); 27 27 end 28 if ~isstruct(md.strainrate), fprintf(' strainrate: N/A\n');28 if ~isstruct(md.strainrate), disp(sprintf(' strainrate: N/A')); 29 29 else 30 fprintf(' strainrate [1/a]:');31 30 disp(sprintf(' strainrate [1/a]:')); 31 struct_display(md.strainrate,' '); 32 32 end 33 33 end … … 39 39 field=eval(['structure.' structure_fields{i}]); 40 40 if isstruct(field), 41 fprintf('\n%s\n',[offset structure_fields{i} ':']);41 disp(sprintf('\n%s',[offset structure_fields{i} ':'])); 42 42 struct_display(field,[offset ' ']); 43 43 else 44 fprintf('%s\n',[offset structure_fields{i} ': (' num2str(size(field,1)) ')' ]);44 disp(sprintf('%s',[offset structure_fields{i} ': (' num2str(size(field,1)) ')' ])); 45 45 end 46 46 end -
issm/trunk/src/m/classes/public/display/displaysolutionparameters.m
r1249 r1251 9 9 % displaysolutionparameters(md) 10 10 11 fprintf(' Solution parameters:\n'); 12 fprintf('\n statics:\n'); 13 fprintf(' %s\n','Newton convergence criteria'); 14 fprintf(' eps_rel: %g (velocity relative convergence criterion)\n',md.eps_rel); 15 fprintf(' eps_abs: %g (velocity absolute convergence criterion [m/yr], NaN -> no absolute criterion)\n',md.eps_abs); 16 fprintf(' viscosity_overshoot: %g (over-shooting constant new=new+C*(new-old))\n',md.viscosity_overshoot); 17 fprintf(' penalty_offset: %g (offset used by penalties: penalty = Kmax*10^offset)\n',md.penalty_offset); 18 fprintf(' penalty_melting: %g (penalty used to keep T<Tpmp)\n',md.penalty_melting); 19 fprintf(' penalty_lock: %g (counter used to lock penalties that zig zag)\n',md.penalty_lock); 20 fprintf(' lowmem: %i (Set to 1 if you are running low on cluster memory)\n',md.lowmem); 21 fprintf(' sparsity: %g (matrix sparsity. Set to .001 for < 1M dof, .0001 for 5M dof, and .00001 for > 10M dof\n',md.sparsity); 22 fprintf(' connectivity: %i (element connectivity)\n',md.connectivity); 23 fprintf(' debug: %i (output debug statements when possible yes-> 1, no -> 0. Default is 1\n',md.debug); 24 fprintf(' element_debug: %i (output debug statements for elementswhen possible yes-> 1, no -> 0. Default is 0\n',md.element_debug); 25 fprintf(' element_debugid: %i (if element_debug on, id of element for which to output messages\n',md.element_debugid); 26 fprintf(' debug: %i (output debug statements when possible yes-> 1, no -> 0. Default is 1'); 27 fprintf(' ''%s''\n','transient'); 28 fprintf(' dt: %g ( time step in years)\n',md.dt/md.yts); 29 fprintf(' ndt: %g ( time span in years)\n',md.ndt/md.yts); 30 fprintf(' artificial_diffusivity: %i (yes->1, no->0)\n',md.artificial_diffusivity); 31 fprintf(' minh: %g (minimum thickness to avoid stiffness singularity)\n',md.minh); 32 fprintf(' timestepping: %i ( adptative time stepping implemented - default to 0)\n',md.timestepping); 33 fprintf(' deltaH: %g ( minimum thickness difference between two time steps)\n',md.deltaH); 34 fprintf(' DeltaH: %g ( maximum thickness difference between two time steps)\n',md.DeltaH); 35 fprintf(' deltaT: %g ( minimum temperature difference between two time steps)\n',md.deltaT); 36 fprintf(' DeltaT: %g ( maximum temperature difference between two time steps)\n',md.DeltaT); 37 fprintf(' timeacc: %g ( multiplier to time step when time stepping increases time step)\n',md.timeacc); 38 fprintf(' timedec: %g ( multiplier to time step when time stepping decresaes time step)\n',md.timedec); 11 disp(sprintf(' Solution parameters:')); 39 12 40 fprintf('\n control:\n'); 41 fprintf(' control_type: %s (control type, ex: ''drag'', or ''B'')\n',md.control_type); 42 fprintf(' fit: (%g) ( 0 -> absolute, 1 -> relative, 2 -> logarithmic. default is absolute)\n',length(md.fit)); 43 fprintf(' meanvel: %g (velocity scaling factor when evaluating relative or logarithmic misfit)\n',md.meanvel); 44 fprintf(' epsvel: %g ( for relative fit, avoids misfit becoming infinity, for logarithmic fit, threshold for velocity)\n',md.epsvel); 45 fprintf(' nsteps: %i (number of optimization searches)\n',md.nsteps); 46 fprintf(' optscal: (%i %i) (scaling factor on gradient direction during optimization, for each optimization step)\n',size(md.optscal,1),size(md.optscal,2)); 47 fprintf(' mincontrolconstraint: %f (minimum contraint for the controlled parameters, NaN -> no constraint)\n',md.mincontrolconstraint); 48 fprintf(' maxcontrolconstraint: %f (maximum contraint for the controlled parameters, NaN -> no constraint)\n',md.maxcontrolconstraint); 49 fprintf(' maxiter: (%i) (maximum iterations during each optimization step)\n',length(md.maxiter)); 50 fprintf(' tolx: %f (minimum tolerance which will stop one optimization search)\n',md.tolx); 51 fprintf(' plot: %i (visualization of the results of each iteration yes -> 1 no -> 0. Default is 1)\n',md.plot); 13 disp(sprintf('\n statics:')); 14 disp(sprintf(' %s','Newton convergence criteria')); 15 disp(sprintf(' eps_rel: %g (velocity relative convergence criterion)',md.eps_rel)); 16 disp(sprintf(' eps_abs: %g (velocity absolute convergence criterion [m/yr], NaN -> no absolute criterion)',md.eps_abs)); 17 disp(sprintf(' viscosity_overshoot: %g (over-shooting constant new=new+C*(new-old))',md.viscosity_overshoot)); 18 disp(sprintf(' penalty_offset: %g (offset used by penalties: penalty = Kmax*10^offset)',md.penalty_offset)); 19 disp(sprintf(' penalty_melting: %g (penalty used to keep T<Tpmp)',md.penalty_melting)); 20 disp(sprintf(' penalty_lock: %g (counter used to lock penalties that zig zag)',md.penalty_lock)); 21 disp(sprintf(' lowmem: %i (Set to 1 if you are running low on cluster memory)',md.lowmem)); 22 disp(sprintf(' sparsity: %g (matrix sparsity. Set to .001 for < 1M dof, .0001 for 5M dof, and .00001 for > 10M dof',md.sparsity)); 23 disp(sprintf(' connectivity: %i (element connectivity)',md.connectivity)); 24 disp(sprintf(' debug: %i (output debug statements when possible yes-> 1, no -> 0. Default is 1',md.debug)); 25 disp(sprintf(' element_debug: %i (output debug statements for elementswhen possible yes-> 1, no -> 0. Default is 0',md.element_debug)); 26 disp(sprintf(' element_debugid: %i (if element_debug on, id of element for which to output messages',md.element_debugid)); 27 disp(sprintf(' debug: %i (output debug statements when possible yes-> 1, no -> 0. Default is 1')); 52 28 53 fprintf('\n mesh:\n'); 54 fprintf(' mesh_domainoutline: %s (domain outlines)\n',md.mesh_domainoutline); 55 fprintf(' mesh_riftoutline: %s (rift outlines)\n',md.mesh_riftoutline); 56 fprintf(' mesh_resolution: (%g) (mesh resolutoin)\n',md.mesh_resolution); 29 disp(sprintf('\n transient:')); 30 disp(sprintf(' dt: %g ( time step in years)',md.dt/md.yts)); 31 disp(sprintf(' ndt: %g ( time span in years)',md.ndt/md.yts)); 32 disp(sprintf(' artificial_diffusivity: %i (yes->1, no->0)',md.artificial_diffusivity)); 33 disp(sprintf(' minh: %g (minimum thickness to avoid stiffness singularity)',md.minh)); 34 disp(sprintf(' timestepping: %i ( adptative time stepping implemented - default to 0)',md.timestepping)); 35 disp(sprintf(' deltaH: %g ( minimum thickness difference between two time steps)',md.deltaH)); 36 disp(sprintf(' DeltaH: %g ( maximum thickness difference between two time steps)',md.DeltaH)); 37 disp(sprintf(' deltaT: %g ( minimum temperature difference between two time steps)',md.deltaT)); 38 disp(sprintf(' DeltaT: %g ( maximum temperature difference between two time steps)',md.DeltaT)); 39 disp(sprintf(' timeacc: %g ( multiplier to time step when time stepping increases time step)',md.timeacc)); 40 disp(sprintf(' timedec: %g ( multiplier to time step when time stepping decresaes time step)',md.timedec)); 41 42 disp(sprintf('\n control:')); 43 disp(sprintf(' control_type: %s (control type, ex: ''drag'', or ''B'')',md.control_type)); 44 disp(sprintf(' fit: (%g) ( 0 -> absolute, 1 -> relative, 2 -> logarithmic. default is absolute)',length(md.fit))); 45 disp(sprintf(' meanvel: %g (velocity scaling factor when evaluating relative or logarithmic misfit)',md.meanvel)); 46 disp(sprintf(' epsvel: %g ( for relative fit, avoids misfit becoming infinity, for logarithmic fit, threshold for velocity)',md.epsvel)); 47 disp(sprintf(' nsteps: %i (number of optimization searches)',md.nsteps)); 48 disp(sprintf(' optscal: (%i %i) (scaling factor on gradient direction during optimization, for each optimization step)',size(md.optscal,1),size(md.optscal,2))); 49 disp(sprintf(' mincontrolconstraint: %f (minimum contraint for the controlled parameters, NaN -> no constraint)',md.mincontrolconstraint)); 50 disp(sprintf(' maxcontrolconstraint: %f (maximum contraint for the controlled parameters, NaN -> no constraint)',md.maxcontrolconstraint)); 51 disp(sprintf(' maxiter: (%i) (maximum iterations during each optimization step)',length(md.maxiter))); 52 disp(sprintf(' tolx: %f (minimum tolerance which will stop one optimization search)',md.tolx)); 53 disp(sprintf(' plot: %i (visualization of the results of each iteration yes -> 1 no -> 0. Default is 1)',md.plot)); 54 55 disp(sprintf('\n mesh:')); 56 disp(sprintf(' mesh_domainoutline: %s (domain outlines)',md.mesh_domainoutline)); 57 disp(sprintf(' mesh_riftoutline: %s (rift outlines)',md.mesh_riftoutline)); 58 disp(sprintf(' mesh_resolution: (%g) (mesh resolutoin)',md.mesh_resolution)); 57 59 58 60 %mesh2grid type 59 fprintf('\n mesh2grid:\n');61 disp(sprintf('\n mesh2grid:')); 60 62 mesh2grid_string=''; 61 63 for i=1:length(md.mesh2grid_parameters), … … 64 66 end 65 67 mesh2grid_string=mesh2grid_string(1:length(mesh2grid_string)-5); 66 fprintf(' mesh2grid_parameters: %s %s\n',mesh2grid_string,'(list of parameters for which mesh 2 grid interpolation is carried out; ex: {''drag''}, or {''drag'',''B''})');68 disp(sprintf(' mesh2grid_parameters: %s %s',mesh2grid_string,'(list of parameters for which mesh 2 grid interpolation is carried out; ex: {''drag''}, or {''drag'',''B''})')); 67 69 %mesh2grid interpolation 68 70 mesh2grid_interpstring=''; … … 72 74 end 73 75 mesh2grid_interpstring=mesh2grid_interpstring(1:length(mesh2grid_interpstring)-5); 74 fprintf(' mesh2grid_interpolation: %s %s\n',mesh2grid_interpstring,'(list of interpolation (''node'' or ''element'') for each parameter ex: {''node''}, or {''node'',''element''})');76 disp(sprintf(' mesh2grid_interpolation: %s %s',mesh2grid_interpstring,'(list of interpolation (''node'' or ''element'') for each parameter ex: {''node''}, or {''node'',''element''})')); 75 77 76 78 %mesh2grid filter … … 81 83 end 82 84 mesh2grid_filterstring=mesh2grid_filterstring(1:length(mesh2grid_filterstring)-5); 83 fprintf(' mesh2grid_filter: %s %s\n',mesh2grid_filterstring,'(list of filter (''average'' or ''nearest'') for each parameter ex: {''average''}, or {''average'',''nearest''})'); 84 fprintf(' mesh2grid_cornereast: %g ( corner east of square grid)\n',md.mesh2grid_cornereast); 85 fprintf(' mesh2grid_cornernorth: %g ( corner north of square grid)\n',md.mesh2grid_cornernorth); 86 fprintf(' mesh2grid_xposting: %g (x posting of grid (in m))\n',md.mesh2grid_xposting); 87 fprintf(' mesh2grid_yposting: %g (y posting of grid (in m))\n',md.mesh2grid_yposting); 88 fprintf(' mesh2grid_nlines: %g ( number of grid lines)\n',md.mesh2grid_nlines); 89 fprintf(' mesh2grid_ncolumns: %g ( number of grid columns)\n',md.mesh2grid_ncolumns); 90 fprintf(' mesh2grid_windowsize: %g ( size of filter )\n',md.mesh2grid_windowsize); 91 92 %parallelisation 93 md.parallel 85 disp(sprintf(' mesh2grid_filter: %s %s',mesh2grid_filterstring,'(list of filter (''average'' or ''nearest'') for each parameter ex: {''average''}, or {''average'',''nearest''})')); 86 disp(sprintf(' mesh2grid_cornereast: %g ( corner east of square grid)',md.mesh2grid_cornereast)); 87 disp(sprintf(' mesh2grid_cornernorth: %g ( corner north of square grid)',md.mesh2grid_cornernorth)); 88 disp(sprintf(' mesh2grid_xposting: %g (x posting of grid (in m))',md.mesh2grid_xposting)); 89 disp(sprintf(' mesh2grid_yposting: %g (y posting of grid (in m))',md.mesh2grid_yposting)); 90 disp(sprintf(' mesh2grid_nlines: %g ( number of grid lines)',md.mesh2grid_nlines)); 91 disp(sprintf(' mesh2grid_ncolumns: %g ( number of grid columns)',md.mesh2grid_ncolumns)); 92 disp(sprintf(' mesh2grid_windowsize: %g ( size of filter )',md.mesh2grid_windowsize)); 94 93 95 94 %parameteroutput type … … 101 100 parameteroutput_string=parameteroutput_string(1:length(parameteroutput_string)-5); 102 101 103 fprintf('\n output:\n');104 fprintf(' parameteroutput: %s %s\n',parameteroutput_string,...105 '(list of output parameters recovered in the solution sequences: ex: {''viscousheating'',''stress''})\n');102 disp(sprintf('\n output:')); 103 disp(sprintf(' parameteroutput: %s %s',parameteroutput_string,... 104 '(list of output parameters recovered in the solution sequences: ex: {''viscousheating'',''stress''})'));
Note:
See TracChangeset
for help on using the changeset viewer.