Changeset 6304


Ignore:
Timestamp:
10/14/10 16:20:30 (14 years ago)
Author:
Mathieu Morlighem
Message:

Added verbose class

Location:
issm/trunk/src/m
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/@model/model.m

    r6218 r6304  
    229229        %debugging
    230230        md.verbose=0;
     231        md.verbose_binary=0;
    231232        md.element_debug=0;
    232233        md.element_debugid=NaN;
  • issm/trunk/src/m/classes/@model/setdefaultparameters.m

    r6276 r6304  
    8888%parameter used to print temporary results (convergence criterion,
    8989%current step,...)
    90 md.verbose=0;
     90md.verbose=verbose;
    9191
    9292%Stokes mesh
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r6287 r6304  
    3636% Common checks
    3737%VERBOSE{{{1
    38 if md.verbose~=floor(abs(md.verbose)),
    39         error(['field verbose should be a positive integer']);
     38if ~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'' ']);
    4045end
    4146%}}}
  • issm/trunk/src/m/model/marshall.m

    r6226 r6304  
    109109WriteData(fid,md.meanvel,'Scalar','meanvel');
    110110WriteData(fid,md.epsvel,'Scalar','epsvel');
    111 WriteData(fid,md.verbose,'Integer','verbose');
     111WriteData(fid,md.verbose_binary,'Integer','verbose_binary');
    112112WriteData(fid,md.plot,'Integer','plot');
    113113WriteData(fid,md.output_frequency,'Integer','output_frequency');
  • issm/trunk/src/m/model/presolve.m

    r6201 r6304  
    88md.inputfilename=[md.name '.bin'];
    99md.outputfilename=[md.name '.outbin'];
     10
     11%verbose;
     12md.verbose_binary=VerboseToBinary(md.verbose);
    1013
    1114%deal with control methods
  • issm/trunk/src/m/model/solve.m

    r6088 r6304  
    2828
    2929%check model consistency
    30 displaystring(md.verbose,'\n%s\n','checking model consistency');
     30disp('checking model consistency');
    3131ismodelselfconsistent(md),
    3232
     
    4343assignin('base',inputname(1),md);
    4444
    45 displaystring(md.verbose,'\n%s\n','launching solution sequence');
     45disp('launching solution sequence');
    4646
    4747%If running in parallel, we have a different way of launching the solution
     
    6363
    6464%Check result is consistent
    65 displaystring(md.verbose,'%s\n','checking result consistency');
     65disp('checking result consistency');
    6666%if ~isresultconsistent(md,options.analysis_type),
    6767%       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  
    3737                else
    3838                        %load results
    39                         displaystring(md.verbose,'loading results from cluster');
     39                        disp('loading results from cluster');
    4040                        md=loadresultsfromcluster(md);
    4141                end
  • issm/trunk/src/m/model/structtomodel.m

    r6145 r6304  
    3333        if strcmpi(structmd.type,'3d'), md.dim=3; end
    3434end
     35if isnumeric(md.verbose), md.verbose=verbose; end
    3536
    3637%New fields
  • issm/trunk/src/m/solutions/NewFemModel.m

    r6231 r6304  
    99%
    1010
     11        %Set verbosity
     12        SetVerbosityLevel(md.verbose_binary);
     13
     14   %Dynamically allocate whatever is a list of length nummodels: */
    1115   femmodel.solution_type=solution_type;
    1216   femmodel.analysis_counter=nummodels; %point to last analysis_type carried out
    13 
    14    %Dynamically allocate whatever is a list of length nummodels: */
    1517   femmodel.analysis_type_list=analysis_types;
    1618
    17    displaystring(md.verbose,'\n   reading data from model %s...',md.name);
     19        displaystring(VerbModProc(),'\n   reading data from model %s...',md.name);
    1820   [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.constraints,femmodel.loads,femmodel.materials,femmodel.parameters]=ModelProcessor(md,solution_type,femmodel.analysis_type_list);
    1921   
     
    2729
    2830                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));
    3032
    3133                femmodel=SetCurrentConfiguration(femmodel,analysis_type);
    3234
    3335                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');
    3537                        femmodel.vertices=VerticesDof(femmodel.vertices, femmodel.parameters);
    3638                end
    3739
    38                 displaystring(md.verbose,'%s','      resolve node constraints');
     40                displaystring(VerbModProc(),'%s','      resolve node constraints');
    3941                [femmodel.nodes]=SpcNodes(femmodel.nodes,femmodel.constraints,analysis_type);
    4042
    41                 displaystring(md.verbose,'%s','      create nodal degrees of freedom');
     43                displaystring(VerbModProc(),'%s','      create nodal degrees of freedom');
    4244                [femmodel.nodes]=NodesDof(femmodel.nodes,femmodel.parameters);
    4345
    44                 displaystring(md.verbose,'%s','      create nodal constraints vector');
     46                displaystring(VerbModProc(),'%s','      create nodal constraints vector');
    4547                femmodel.m_ys{i}=CreateNodalConstraints(femmodel.nodes,analysis_type);
    4648
    47                 displaystring(md.verbose,'%s','      create node sets');
     49                displaystring(VerbModProc(),'%s','      create node sets');
    4850                femmodel.m_nodesets{i}=BuildNodeSets(femmodel.nodes,analysis_type);
    4951
    50                 displaystring(md.verbose,'%s','      configuring elements and loads');
     52                displaystring(VerbModProc(),'%s','      configuring elements and loads');
    5153                [femmodel.elements,femmodel.loads,femmodel.nodes,femmodel.parameters] = ConfigureObjects( femmodel.elements, femmodel.loads, femmodel.nodes, femmodel.vertices,femmodel.materials,femmodel.parameters);
    5254        end
  • issm/trunk/src/m/solutions/convergence.m

    r4954 r6304  
    55
    66%Get convergence options
    7 verbose=parameters.Verbose;
    87yts=parameters.Yts;
    98eps_res=parameters.EpsRes;
     
    1312%initialization
    1413converged=false;
    15 displaystring(verbose,' ');
    1614
    1715%Display solver caracteristics
    18 if (verbose>1),
     16if (VerbConverge()),
    1917        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);
    2220end
    2321
     
    2826end
    2927if (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,' %');
    3129        converged=true;
    3230else
    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,' %');
    3432        converged=false;
    3533end
    3634
    3735%Relative criterion (optional)
    38 if ((~isnan(eps_rel)) | (verbose>1)),
     36if ((~isnan(eps_rel)) | (VerbConverge())),
    3937
    4038        %compute ndu/nu
     
    5048                if nu, %avoid "dividing by zero" warning
    5149                        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,' %');
    5351                        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,' %');
    5553                                converged=false;
    5654                        end
     
    6058        else
    6159                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,' %');
    6361                end
    6462        end
     
    6765
    6866%Absolute criterion (optional)
    69 if ((~isnan(eps_abs)) | (verbose>1)),
     67if ((~isnan(eps_abs)) | VerbConverge()),
    7068
    7169        %compute max(du)
     
    7977        if ~isnan(eps_abs),
    8078                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');
    8280                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');
    8482                        converged=false;
    8583                end
    8684        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');
    8886        end
    8987
  • issm/trunk/src/m/solutions/issm.m

    r5483 r6304  
    1111        [analyses,numanalyses,solutioncore]=SolutionConfiguration(solution_type);
    1212
    13         displaystring(md.verbose,'%s',['create finite element model']);
     13        disp('create finite element model');
    1414        femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
    1515
     
    3737        %stop timing
    3838        t2=clock;
    39         displaystring(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.