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