Changeset 6304
- Timestamp:
- 10/14/10 16:20:30 (14 years ago)
- Location:
- issm/trunk/src/m
- Files:
-
- 1 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/@model/model.m
r6218 r6304 229 229 %debugging 230 230 md.verbose=0; 231 md.verbose_binary=0; 231 232 md.element_debug=0; 232 233 md.element_debugid=NaN; -
issm/trunk/src/m/classes/@model/setdefaultparameters.m
r6276 r6304 88 88 %parameter used to print temporary results (convergence criterion, 89 89 %current step,...) 90 md.verbose= 0;90 md.verbose=verbose; 91 91 92 92 %Stokes mesh -
issm/trunk/src/m/model/ismodelselfconsistent.m
r6287 r6304 36 36 % Common checks 37 37 %VERBOSE{{{1 38 if md.verbose~=floor(abs(md.verbose)), 39 error(['field verbose should be a positive integer']); 38 if ~strcmp('verbose',class(md.verbose)) 39 disp('WARNING: md.verbose must now be an object of class ''verbose'''); 40 disp(' To update your model use the following command:'); 41 disp(' '); 42 disp(' md.verbose=verbose;'); 43 disp(' '); 44 error(['field verbose should be of class ''verbose'' ']); 40 45 end 41 46 %}}} -
issm/trunk/src/m/model/marshall.m
r6226 r6304 109 109 WriteData(fid,md.meanvel,'Scalar','meanvel'); 110 110 WriteData(fid,md.epsvel,'Scalar','epsvel'); 111 WriteData(fid,md.verbose ,'Integer','verbose');111 WriteData(fid,md.verbose_binary,'Integer','verbose_binary'); 112 112 WriteData(fid,md.plot,'Integer','plot'); 113 113 WriteData(fid,md.output_frequency,'Integer','output_frequency'); -
issm/trunk/src/m/model/presolve.m
r6201 r6304 8 8 md.inputfilename=[md.name '.bin']; 9 9 md.outputfilename=[md.name '.outbin']; 10 11 %verbose; 12 md.verbose_binary=VerboseToBinary(md.verbose); 10 13 11 14 %deal with control methods -
issm/trunk/src/m/model/solve.m
r6088 r6304 28 28 29 29 %check model consistency 30 disp laystring(md.verbose,'\n%s\n','checking model consistency');30 disp('checking model consistency'); 31 31 ismodelselfconsistent(md), 32 32 … … 43 43 assignin('base',inputname(1),md); 44 44 45 disp laystring(md.verbose,'\n%s\n','launching solution sequence');45 disp('launching solution sequence'); 46 46 47 47 %If running in parallel, we have a different way of launching the solution … … 63 63 64 64 %Check result is consistent 65 disp laystring(md.verbose,'%s\n','checking result consistency');65 disp('checking result consistency'); 66 66 %if ~isresultconsistent(md,options.analysis_type), 67 67 % disp('!! results not consistent correct the model !!') %it would be very cruel to put an error, it would kill the computed results (even if not consistent...) -
issm/trunk/src/m/model/solveparallel.m
r6218 r6304 37 37 else 38 38 %load results 39 disp laystring(md.verbose,'loading results from cluster');39 disp('loading results from cluster'); 40 40 md=loadresultsfromcluster(md); 41 41 end -
issm/trunk/src/m/model/structtomodel.m
r6145 r6304 33 33 if strcmpi(structmd.type,'3d'), md.dim=3; end 34 34 end 35 if isnumeric(md.verbose), md.verbose=verbose; end 35 36 36 37 %New fields -
issm/trunk/src/m/solutions/NewFemModel.m
r6231 r6304 9 9 % 10 10 11 %Set verbosity 12 SetVerbosityLevel(md.verbose_binary); 13 14 %Dynamically allocate whatever is a list of length nummodels: */ 11 15 femmodel.solution_type=solution_type; 12 16 femmodel.analysis_counter=nummodels; %point to last analysis_type carried out 13 14 %Dynamically allocate whatever is a list of length nummodels: */15 17 femmodel.analysis_type_list=analysis_types; 16 18 17 displaystring(md.verbose,'\n reading data from model %s...',md.name);19 displaystring(VerbModProc(),'\n reading data from model %s...',md.name); 18 20 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.constraints,femmodel.loads,femmodel.materials,femmodel.parameters]=ModelProcessor(md,solution_type,femmodel.analysis_type_list); 19 21 … … 27 29 28 30 analysis_type=femmodel.analysis_type_list(i); 29 displaystring( md.verbose,'%s%s',' dealing with analysis type: ',EnumToString(analysis_type));31 displaystring(VerbModProc(),'%s%s',' dealing with analysis type: ',EnumToString(analysis_type)); 30 32 31 33 femmodel=SetCurrentConfiguration(femmodel,analysis_type); 32 34 33 35 if i==1, %only create vertices dofs once! 34 displaystring( md.verbose,'%s',' generating vertices degrees of freedom');36 displaystring(VerbModProc(),'%s',' generating vertices degrees of freedom'); 35 37 femmodel.vertices=VerticesDof(femmodel.vertices, femmodel.parameters); 36 38 end 37 39 38 displaystring( md.verbose,'%s',' resolve node constraints');40 displaystring(VerbModProc(),'%s',' resolve node constraints'); 39 41 [femmodel.nodes]=SpcNodes(femmodel.nodes,femmodel.constraints,analysis_type); 40 42 41 displaystring( md.verbose,'%s',' create nodal degrees of freedom');43 displaystring(VerbModProc(),'%s',' create nodal degrees of freedom'); 42 44 [femmodel.nodes]=NodesDof(femmodel.nodes,femmodel.parameters); 43 45 44 displaystring( md.verbose,'%s',' create nodal constraints vector');46 displaystring(VerbModProc(),'%s',' create nodal constraints vector'); 45 47 femmodel.m_ys{i}=CreateNodalConstraints(femmodel.nodes,analysis_type); 46 48 47 displaystring( md.verbose,'%s',' create node sets');49 displaystring(VerbModProc(),'%s',' create node sets'); 48 50 femmodel.m_nodesets{i}=BuildNodeSets(femmodel.nodes,analysis_type); 49 51 50 displaystring( md.verbose,'%s',' configuring elements and loads');52 displaystring(VerbModProc(),'%s',' configuring elements and loads'); 51 53 [femmodel.elements,femmodel.loads,femmodel.nodes,femmodel.parameters] = ConfigureObjects( femmodel.elements, femmodel.loads, femmodel.nodes, femmodel.vertices,femmodel.materials,femmodel.parameters); 52 54 end -
issm/trunk/src/m/solutions/convergence.m
r4954 r6304 5 5 6 6 %Get convergence options 7 verbose=parameters.Verbose;8 7 yts=parameters.Yts; 9 8 eps_res=parameters.EpsRes; … … 13 12 %initialization 14 13 converged=false; 15 displaystring(verbose,' ');16 14 17 15 %Display solver caracteristics 18 if ( verbose>1),16 if (VerbConverge()), 19 17 solver_res=norm(K_ff*u_f-p_f,2)/norm(p_f,2); 20 displaystring( verbose>1,'%s%g',' condition number of stiffness matrix: ',condest(K_ff));21 displaystring( verbose>1,'%s%g',' solver residue: norm(KU-F)/norm(F)=',solver_res);18 displaystring(VerbConverge(),'%s%g',' condition number of stiffness matrix: ',condest(K_ff)); 19 displaystring(VerbConverge(),'%s%g',' solver residue: norm(KU-F)/norm(F)=',solver_res); 22 20 end 23 21 … … 28 26 end 29 27 if (res<=eps_res), 30 displaystring( verbose,'%-60s%g%s%g%s',' mechanical equilibrium convergence criterion',res*100,' < ',eps_res*100,' %');28 displaystring(VerbConverge(),'%-60s%g%s%g%s',' mechanical equilibrium convergence criterion',res*100,' < ',eps_res*100,' %'); 31 29 converged=true; 32 30 else 33 displaystring( verbose,'%-60s%g%s%g%s',' mechanical equilibrium convergence criterion',res*100,' > ',eps_res*100,' %');31 displaystring(VerbConverge(),'%-60s%g%s%g%s',' mechanical equilibrium convergence criterion',res*100,' > ',eps_res*100,' %'); 34 32 converged=false; 35 33 end 36 34 37 35 %Relative criterion (optional) 38 if ((~isnan(eps_rel)) | ( verbose>1)),36 if ((~isnan(eps_rel)) | (VerbConverge())), 39 37 40 38 %compute ndu/nu … … 50 48 if nu, %avoid "dividing by zero" warning 51 49 if (ndu/nu<=eps_rel), 52 displaystring( verbose,'%-60s%g%s%g%s',' relative convergence criterion: norm(du)/norm(u)',ndu/nu*100,' < ',eps_rel*100,' %');50 displaystring(VerbConverge(),'%-60s%g%s%g%s',' relative convergence criterion: norm(du)/norm(u)',ndu/nu*100,' < ',eps_rel*100,' %'); 53 51 else 54 displaystring( verbose,'%-60s%g%s%g%s',' relative convergence criterion: norm(du)/norm(u)',ndu/nu*100,' > ',eps_rel*100,' %');52 displaystring(VerbConverge(),'%-60s%g%s%g%s',' relative convergence criterion: norm(du)/norm(u)',ndu/nu*100,' > ',eps_rel*100,' %'); 55 53 converged=false; 56 54 end … … 60 58 else 61 59 if nu, %avoid "dividing by zero" warning 62 displaystring( verbose,'%-60s%g%s',' relative convergence criterion: norm(du)/norm(u)',ndu/nu*100,' %');60 displaystring(VerbConverge(),'%-60s%g%s',' relative convergence criterion: norm(du)/norm(u)',ndu/nu*100,' %'); 63 61 end 64 62 end … … 67 65 68 66 %Absolute criterion (optional) 69 if ((~isnan(eps_abs)) | (verbose>1)),67 if ((~isnan(eps_abs)) | VerbConverge()), 70 68 71 69 %compute max(du) … … 79 77 if ~isnan(eps_abs), 80 78 if (nduinf<=eps_abs), 81 displaystring( verbose,'%-60s%g%s%g%s',' absolute convergence criterion: max(du)',nduinf,' < ',eps_abs,' m/yr');79 displaystring(VerbConverge(),'%-60s%g%s%g%s',' absolute convergence criterion: max(du)',nduinf,' < ',eps_abs,' m/yr'); 82 80 else 83 displaystring( verbose,'%-60s%g%s%g%s',' absolute convergence criterion: max(du)',nduinf,' > ',eps_abs,' m/yr');81 displaystring(VerbConverge(),'%-60s%g%s%g%s',' absolute convergence criterion: max(du)',nduinf,' > ',eps_abs,' m/yr'); 84 82 converged=false; 85 83 end 86 84 else 87 displaystring( verbose,'%-60s%g%s',' absolute convergence criterion: max(du)',nduinf,' m/yr');85 displaystring(VerbConverge(),'%-60s%g%s',' absolute convergence criterion: max(du)',nduinf,' m/yr'); 88 86 end 89 87 -
issm/trunk/src/m/solutions/issm.m
r5483 r6304 11 11 [analyses,numanalyses,solutioncore]=SolutionConfiguration(solution_type); 12 12 13 disp laystring(md.verbose,'%s',['create finite element model']);13 disp('create finite element model'); 14 14 femmodel=NewFemModel(md,solution_type,analyses,numanalyses); 15 15 … … 37 37 %stop timing 38 38 t2=clock; 39 disp laystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);39 disp(['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Note:
See TracChangeset
for help on using the changeset viewer.