Changeset 6323
- Timestamp:
- 10/15/10 16:13:34 (14 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 3 added
- 4 deleted
- 69 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp
r5420 r6323 24 24 parameters->FindParam(&configuration_type,ConfigurationTypeEnum); 25 25 26 //_printf_(" Configuring elements...\n");26 ISSMPRINTF(VerboseMProcessor()," Configuring elements...\n"); 27 27 for (i=0;i<elements->Size();i++){ 28 28 element=(Element*)elements->GetObjectByOffset(i); 29 29 element->Configure(elements,loads,nodes,materials,parameters); 30 30 } 31 //_printf_(" Configuring loads...\n");31 ISSMPRINTF(VerboseMProcessor()," Configuring loads...\n"); 32 32 for (i=0;i<loads->Size();i++){ 33 33 load=(Load*)loads->GetObjectByOffset(i); … … 36 36 } 37 37 } 38 //_printf_(" Configuring nodes...\n");38 ISSMPRINTF(VerboseMProcessor()," Configuring nodes...\n"); 39 39 for (i=0;i<nodes->Size();i++){ 40 40 node=(Node*)nodes->GetObjectByOffset(i); … … 44 44 } 45 45 46 //_printf_(" Configuring materials...\n");46 ISSMPRINTF(VerboseMProcessor()," Configuring materials...\n"); 47 47 for (i=0;i<materials->Size();i++){ 48 48 material=(Material*)materials->GetObjectByOffset(i); -
issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.cpp
r4890 r6323 17 17 double *eps = NULL; 18 18 Element* element=NULL; 19 int verbose;20 19 21 /*retrieve parameters: */22 parameters->FindParam(&verbose,VerboseEnum);23 24 20 /*allocate dynamic memory: */ 25 21 eps=(double*)xmalloc(num_criterionenums*sizeof(double)); … … 37 33 num_notconverged=total_notconverged; 38 34 #endif 39 _printf_(" #elements above convergence criterion = %i\n",num_notconverged);35 ISSMPRINTF(VerboseConvergence()," #elements above convergence criterion = %i\n",num_notconverged); 40 36 41 37 /*Free ressources:*/ -
issm/trunk/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp
r6231 r6323 15 15 int dummy; 16 16 17 int verbose;18 17 int numberofvertices; 19 18 int qmu_npart; … … 26 25 27 26 /*retrieve parameters: */ 28 parameters->FindParam(&verbose,VerboseEnum);29 27 parameters->FindParam(&qmu_npart,QmuNPartEnum); 30 28 parameters->FindParam(&qmu_part,&dummy,QmuPartEnum); -
issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp
r5703 r6323 13 13 14 14 /*Display message*/ 15 int verbose; parameters->FindParam(&verbose,VerboseEnum); 16 if (verbose) _printf_(" Merging solution vector from fset to gset\n"); 15 ISSMPRINTF(VerboseModule()," Merging solution vector from fset to gset\n"); 17 16 18 17 /*Merge f set back into g set: */ -
issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
r6215 r6323 44 44 parameters->AddObject(new BoolParam(IsMacAyealPattynEnum,iomodel->ismacayealpattyn)); 45 45 parameters->AddObject(new BoolParam(IsStokesEnum,iomodel->isstokes)); 46 parameters->AddObject(new IntParam(VerboseEnum,iomodel->verbose));47 46 parameters->AddObject(new IntParam(OutputFrequencyEnum,iomodel->output_frequency)); 48 47 parameters->AddObject(new DoubleParam(EpsResEnum,iomodel->eps_res)); -
issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
r6322 r6323 30 30 Parameters* parameters=NULL; 31 31 32 33 32 /*intermediary: */ 34 33 IoModel* iomodel=NULL; 35 34 36 _printf_(" fill model with matlab workspace data\n");37 35 iomodel = new IoModel(IOMODEL); 38 36 SetVerbosityLevel(iomodel->verbose); -
issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.cpp
r5703 r6323 24 24 25 25 /*Display message*/ 26 int verbose; parameters->FindParam(&verbose,VerboseEnum); 27 if (verbose) _printf_(" Constraining penalties\n"); 26 ISSMPRINTF(VerboseModule()," Constraining penalties\n"); 28 27 29 28 /*recover parameters: */ -
issm/trunk/src/c/modules/PenaltyConstraintsx/RiftConstraints.cpp
r5838 r6323 55 55 } 56 56 else if(num_unstable_constraints<=min_mechanical_constraints){ 57 _printf_(" freezing constraints\n");57 ISSMPRINTF(VerboseModule()," freezing constraints\n"); 58 58 RiftFreezeConstraints(loads,configuration_type); 59 59 } -
issm/trunk/src/c/modules/Qmux/SpawnCoreParallel.cpp
r6231 r6323 46 46 char *string = NULL; 47 47 int string_length; 48 int verbose = 0;49 48 int solution_type; 50 49 bool control_analysis = false; … … 53 52 /*synchronize all cpus, as CPU 0 is probably late (it is starting the entire dakota strategy!) : */ 54 53 MPI_Barrier(MPI_COMM_WORLD); 55 _printf_("qmu iteration: %i\n",counter);54 ISSMPRINTF(VerboseQmu(),"qmu iteration: %i\n",counter); 56 55 57 56 /*retrieve parameters: */ 58 femmodel->parameters->FindParam(&verbose,VerboseEnum);59 57 femmodel->parameters->FindParam(&responses_descriptors,&numresponsedescriptors,ResponseDescriptorsEnum); 60 58 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); … … 68 66 69 67 /*Determine solution sequence: */ 70 if(verbose)_printf_("%s%s%s\n","Starting ",EnumToString(solution_type)," core:");68 ISSMPRINTF(VerboseQmu(),"%s%s%s\n","Starting ",EnumToString(solution_type)," core:"); 71 69 SolutionConfiguration(NULL,NULL,&solutioncore,solution_type); 72 70 if(control_analysis)solutioncore=&control_core; … … 76 74 77 75 /*compute responses: */ 78 if(verbose)_printf_("compute dakota responses:\n");76 ISSMPRINTF(VerboseQmu(),"compute dakota responses:\n"); 79 77 DakotaResponsesx(d_responses,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,responses_descriptors,numresponsedescriptors,d_numresponses); 80 78 -
issm/trunk/src/c/modules/Reduceloadfromgtofx/Reduceloadfromgtofx.cpp
r5895 r6323 23 23 24 24 /*Parameters: */ 25 int verbose;26 25 bool kffpartition=false; 27 26 bool fromlocalsize=true; 28 27 29 parameters->FindParam(&verbose,VerboseEnum);30 28 parameters->FindParam(&kffpartition,KffEnum); 31 if (verbose) _printf_(" Reducing Load vector from gset to fset\n");29 ISSMPRINTF(VerboseModule()," Reducing Load vector from gset to fset\n"); 32 30 33 31 if(!pg){ -
issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.cpp
r6011 r6323 21 21 int verbose; 22 22 23 parameters->FindParam(&verbose,VerboseEnum); 24 if (verbose) _printf_(" Dirichlet lifting applied to load vector\n"); 23 ISSMPRINTF(VerboseModule()," Dirichlet lifting applied to load vector\n"); 25 24 26 25 if(pf && Kfs){ -
issm/trunk/src/c/modules/Reducematrixfromgtofx/Reducematrixfromgtofx.cpp
r5703 r6323 11 11 12 12 /*Display message*/ 13 int verbose; parameters->FindParam(&verbose,VerboseEnum); 14 if (verbose) _printf_(" Reducing Stiffness Matrix from gset to fset\n"); 13 ISSMPRINTF(VerboseModule()," Reducing Stiffness Matrix from gset to fset\n"); 15 14 16 15 //Reduce matrix from g-size to f-size -
issm/trunk/src/c/modules/Solverx/Solverx.cpp
r6203 r6323 30 30 int solver_type; 31 31 bool fromlocalsize = true; 32 int verbose;33 32 34 33 35 34 /*Display message*/ 36 parameters->FindParam(&verbose,VerboseEnum); if (verbose) _printf_(" Solving\n");37 if( verbose==2)PetscOptionsPrint(stdout);35 ISSMPRINTF(VerboseModule()," Solving\n"); 36 if(VerboseSolver())PetscOptionsPrint(stdout); 38 37 39 38 /*First, check that f-set is not NULL, ie model is fully constrained: */ … … 108 107 } 109 108 110 if( verbose==2)KSPView(ksp,PETSC_VIEWER_STDOUT_WORLD);109 if(VerboseSolver())KSPView(ksp,PETSC_VIEWER_STDOUT_WORLD); 111 110 112 111 /*Solve: */ -
issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp
r5903 r6323 29 29 30 30 /*Display message*/ 31 int verbose; parameters->FindParam(&verbose,VerboseEnum); 32 if (verbose) _printf_(" Generating matrices\n"); 31 ISSMPRINTF(VerboseModule()," Generating matrices\n"); 33 32 34 33 /*retrive parameters: */ -
issm/trunk/src/c/objects/FemModel.cpp
r6322 r6323 125 125 void FemModel::SetCurrentConfiguration(int configuration_type,int analysis_type){ 126 126 127 int verbose=0;128 129 /*retrieve parameters: */130 this->parameters->FindParam(&verbose,VerboseEnum);131 132 127 /*Use configuration_type to setup the analysis counter, the configurations of objects etc ... but use 133 128 * analysis_type to drive the element numerics. This allows for use of 1 configuration_type for several … … 161 156 /*take care of petsc options, that depend on this analysis type: */ 162 157 PetscOptionsFromAnalysis(this->parameters,analysis_type); 163 164 if(verbose){ 165 _printf_(" petsc Options set for analysis type: %s\n",EnumToString(analysis_type)); 166 } 167 158 ISSMPRINTF(VerboseSolver()," petsc Options set for analysis type: %s\n",EnumToString(analysis_type)); 168 159 169 160 } -
issm/trunk/src/c/shared/Numerics/BrentSearch.cpp
r5323 r6323 59 59 60 60 //display result 61 _printf_("\n Iteration x f(x) Tolerance Procedure\n\n");62 _printf_(" %s %12.6g %12.6g %s"," N/A",xmin,fxmin," N/A boundary\n");61 ISSMPRINTF(VerboseControl(),"\n Iteration x f(x) Tolerance Procedure\n\n"); 62 ISSMPRINTF(VerboseControl()," %s %12.6g %12.6g %s"," N/A",xmin,fxmin," N/A boundary\n"); 63 63 64 64 //get the value of the function at the first boundary xmax and display result 65 65 fxmax = (*f)(xmax,optargs); 66 66 if isnan(fxmax) ISSMERROR("Function evaluation returned NaN"); 67 _printf_(" %s %12.6g %12.6g %s"," N/A",xmax,fxmax," N/A boundary\n");67 ISSMPRINTF(VerboseControl()," %s %12.6g %12.6g %s"," N/A",xmax,fxmax," N/A boundary\n"); 68 68 69 69 //test if jump option activated and xmin==0 … … 109 109 110 110 //4: print result 111 _printf_(" %5i %12.6g %12.6g %12.6g %s\n",iter,xbest,fxbest,pow(pow(xbest-xm,2),0.5)," initial");111 ISSMPRINTF(VerboseControl()," %5i %12.6g %12.6g %12.6g %s\n",iter,xbest,fxbest,pow(pow(xbest-xm,2),0.5)," initial"); 112 112 113 113 //Main Loop … … 230 230 //print result 231 231 if (goldenflag){ 232 _printf_(" %5i %12.6g %12.6g %12.6g %s\n",iter,x,fx,pow(pow(xbest-xm,2),0.5)," golden");233 } 234 else{ 235 _printf_(" %5i %12.6g %12.6g %12.6g %s\n",iter,x,fx,pow(pow(xbest-xm,2),0.5)," parabolic");232 ISSMPRINTF(VerboseControl()," %5i %12.6g %12.6g %12.6g %s\n",iter,x,fx,pow(pow(xbest-xm,2),0.5)," golden"); 233 } 234 else{ 235 ISSMPRINTF(VerboseControl()," %5i %12.6g %12.6g %12.6g %s\n",iter,x,fx,pow(pow(xbest-xm,2),0.5)," parabolic"); 236 236 } 237 237 238 238 //Stop the optimization? 239 239 if (sqrt(pow(xbest-xm,2)) < (tol2-0.5*(xmax-xmin))){ 240 _printf_(" %s%g\n","optimization terminated: the current x satisfies the termination criteria using 'tolx' of" ,tolerance);240 ISSMPRINTF(VerboseControl()," %s%g\n","optimization terminated: the current x satisfies the termination criteria using 'tolx' of" ,tolerance); 241 241 loop=0; 242 242 } 243 243 else if (iter>=maxiter){ 244 _printf_(" %s\n","exiting: Maximum number of iterations has been exceeded - increase 'maxiter'\n");244 ISSMPRINTF(VerboseControl()," %s\n","exiting: Maximum number of iterations has been exceeded - increase 'maxiter'\n"); 245 245 loop=0; 246 246 } -
issm/trunk/src/c/shared/Numerics/OptimalSearch.cpp
r5607 r6323 41 41 fx1= (*f)(x1,optargs); 42 42 if isnan(fx1) ISSMERROR("Function evaluation returned NaN"); 43 _printf_("\n Iteration x f(x) Tolerance\n\n");44 _printf_(" %s %12.6g %12.6g %s"," N/A",x1,fx1," N/A\n");43 ISSMPRINTF(VerboseControl(),"\n Iteration x f(x) Tolerance\n\n"); 44 ISSMPRINTF(VerboseControl()," %s %12.6g %12.6g %s"," N/A",x1,fx1," N/A\n"); 45 45 46 46 //update tolerances … … 54 54 fx2 = (*f)(x2,optargs); 55 55 if isnan(fx2) ISSMERROR("Function evaluation returned NaN"); 56 _printf_(" %5i %12.6g %12.6g %12.6g\n",iter,x2,fx2,fabs(x2-x1)>fabs(fx2-fx1)?fabs(fx2-fx1):fabs(x2-x1));56 ISSMPRINTF(VerboseControl()," %5i %12.6g %12.6g %12.6g\n",iter,x2,fx2,fabs(x2-x1)>fabs(fx2-fx1)?fabs(fx2-fx1):fabs(x2-x1)); 57 57 58 58 //Stop the optimization? 59 59 if ((fabs(x2-x1)+seps)<tolerance || (fabs(fx2-fx1)+seps)<tolerance){ 60 _printf_(" %s%g\n","optimization terminated: the current x satisfies the termination criteria using 'tolx' of " ,tolerance);60 ISSMPRINTF(VerboseControl()," %s%g\n","optimization terminated: the current x satisfies the termination criteria using 'tolx' of " ,tolerance); 61 61 loop=false; 62 62 } 63 63 else if (iter>=maxiter){ 64 _printf_(" %s\n","exiting: Maximum number of iterations has been exceeded - increase 'maxiter'\n");64 ISSMPRINTF(VerboseControl()," %s\n","exiting: Maximum number of iterations has been exceeded - increase 'maxiter'\n"); 65 65 loop=false; 66 66 } -
issm/trunk/src/c/shared/Numerics/Verbosity.cpp
r6317 r6323 24 24 25 25 /*Verbosityt levels*/ 26 bool VerboseM odule(void){return (GetVerbosityLevel() & 1);} /* 2^0*/27 bool Verbose Convergence(void){return (GetVerbosityLevel() & 2);} /* 2^1*/28 bool Verbose MProcessor(void){return (GetVerbosityLevel() & 4);} /* 2^2*/26 bool VerboseMProcessor(void){return (GetVerbosityLevel() & 1);} /* 2^0*/ 27 bool VerboseModule(void){return (GetVerbosityLevel() & 2);} /* 2^1*/ 28 bool VerboseSolution(void){return (GetVerbosityLevel() & 4);} /* 2^2*/ 29 29 bool VerboseSolver(void){return (GetVerbosityLevel() & 8);} /* 2^3*/ 30 bool VerboseConvergence(void){return (GetVerbosityLevel() & 16);} /* 2^4*/ 31 bool VerboseControl(void){return (GetVerbosityLevel() & 32);} /* 2^5*/ 32 bool VerboseQmu(void){return (GetVerbosityLevel() & 64);} /* 2^6*/ 30 33 31 34 /*Verbosity Setup*/ -
issm/trunk/src/c/shared/Numerics/Verbosity.h
r6317 r6323 7 7 8 8 /*List of Verbosity levels (Add your own and Synchronize: must begin with "Verb")*/ 9 bool VerboseMProcessor(void); 9 10 bool VerboseModule(void); 11 bool VerboseSolution(void); 12 bool VerboseSolver(void); 10 13 bool VerboseConvergence(void); 11 bool Verbose MProcessor(void);12 bool Verbose Solver(void);14 bool VerboseControl(void); 15 bool VerboseQmu(void); 13 16 14 17 /*Setup Verbosity level*/ -
issm/trunk/src/c/solutions/ResetBoundaryConditions.cpp
r5787 r6323 9 9 void ResetBoundaryConditions(FemModel* femmodel, int analysis_type){ 10 10 11 int verbose=0;12 11 Vec yg=NULL; 13 12 Vec ys=NULL; 14 13 int analysis_counter; 15 14 16 femmodel->parameters->FindParam(&verbose,VerboseEnum); 17 if(verbose)_printf_("%s\n"," updating boundary conditions..."); 15 ISSMPRINTF(VerboseSolution(),"%s\n"," updating boundary conditions..."); 18 16 19 17 /*set current analysis: */ -
issm/trunk/src/c/solutions/adjointbalancedthickness_core.cpp
r6133 r6323 16 16 /*parameters: */ 17 17 bool control_analysis; 18 int verbose = 0;19 18 int solution_type; 20 19 21 20 /*retrieve parameters:*/ 22 femmodel->parameters->FindParam(&verbose,VerboseEnum);23 21 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); 24 22 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 25 23 26 24 /*compute thickness */ 27 _printf_("%s\n","computing thickness");25 ISSMPRINTF(VerboseSolution(),"%s\n"," computing thickness"); 28 26 femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum); 29 27 solver_linear(femmodel); … … 33 31 34 32 /*compute adjoint*/ 35 _printf_("%s\n","computing adjoint");33 ISSMPRINTF(VerboseSolution(),"%s\n"," computing adjoint"); 36 34 femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum,AdjointBalancedthicknessAnalysisEnum); 37 35 solver_adjoint_linear(femmodel); … … 39 37 /*Save results*/ 40 38 if(solution_type==AdjointSolutionEnum && !control_analysis){ 41 if(verbose)_printf_("saving results:\n");39 ISSMPRINTF(VerboseSolution()," saving results\n"); 42 40 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointEnum); 43 41 } -
issm/trunk/src/c/solutions/adjointdiagnostic_core.cpp
r5585 r6323 18 18 bool control_analysis; 19 19 bool conserve_loads = true; 20 int verbose = 0;21 20 int solution_type; 22 21 23 22 /*retrieve parameters:*/ 24 femmodel->parameters->FindParam(&verbose,VerboseEnum);25 23 femmodel->parameters->FindParam(&isstokes,IsStokesEnum); 26 24 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); … … 28 26 29 27 /*Compute velocities*/ 30 _printf_("%s\n","computing velocities");28 ISSMPRINTF(VerboseSolution(),"%s\n"," computing velocities"); 31 29 femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum); 32 30 solver_diagnostic_nonlinear(femmodel,conserve_loads); … … 36 34 37 35 /*Compute adjoint*/ 38 _printf_("%s\n","computing adjoint");36 ISSMPRINTF(VerboseSolution(),"%s\n"," computing adjoint"); 39 37 femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum,AdjointHorizAnalysisEnum); 40 38 solver_adjoint_linear(femmodel); … … 42 40 /*Save results*/ 43 41 if(solution_type==AdjointSolutionEnum && !control_analysis){ 44 if(verbose)_printf_("saving results:\n");42 ISSMPRINTF(VerboseSolution()," saving results\n"); 45 43 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointxEnum); 46 44 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointyEnum); -
issm/trunk/src/c/solutions/balancedthickness_core.cpp
r5318 r6323 15 15 16 16 /*parameters: */ 17 int verbose = 0;18 17 int dim; 19 18 int solution_type; … … 24 23 25 24 /*recover parameters: */ 26 femmodel->parameters->FindParam(&verbose,VerboseEnum);27 25 femmodel->parameters->FindParam(&dim,DimEnum); 28 26 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); 29 27 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 30 28 31 _printf_("call computational core:\n");29 ISSMPRINTF(VerboseSolution(),"call computational core:\n"); 32 30 solver_linear(femmodel); 33 31 34 32 if(solution_type==BalancedthicknessSolutionEnum && !control_analysis){ 35 if(verbose)_printf_("saving results:\n");33 ISSMPRINTF(VerboseSolution()," saving results\n"); 36 34 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum); 37 35 } -
issm/trunk/src/c/solutions/balancedvelocities_core.cpp
r5318 r6323 14 14 15 15 /*flags: */ 16 int verbose = 0;17 16 int dim; 18 17 bool control_analysis; … … 23 22 24 23 /*recover parameters: */ 25 femmodel->parameters->FindParam(&verbose,VerboseEnum);26 24 femmodel->parameters->FindParam(&dim,DimEnum); 27 25 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); 28 26 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 29 27 30 _printf_("call computational core:\n");28 ISSMPRINTF(VerboseSolution()," call computational core\n"); 31 29 solver_linear(femmodel); 32 30 33 31 if(solution_type==BalancedvelocitiesSolutionEnum && !control_analysis){ 34 if(verbose)_printf_("saving results:\n");32 ISSMPRINTF(VerboseSolution()," saving results\n"); 35 33 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum); 36 34 } -
issm/trunk/src/c/solutions/bedslope_core.cpp
r5318 r6323 13 13 14 14 /*parameters: */ 15 int verbose;16 15 int dim; 17 16 bool isstokes; … … 21 20 22 21 /*Recover some parameters: */ 23 femmodel->parameters->FindParam(&verbose,VerboseEnum);24 22 femmodel->parameters->FindParam(&dim,DimEnum); 25 23 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); 26 24 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 27 25 28 if(verbose)_printf_("%s\n","computing slope...");26 ISSMPRINTF(VerboseSolution(),"%s\n"," computing slope"); 29 27 30 28 /*Call on core computations: */ … … 35 33 36 34 if(solution_type==BedSlopeSolutionEnum && !control_analysis){ 37 if(verbose)_printf_("saving results:\n");35 ISSMPRINTF(VerboseSolution()," saving results\n"); 38 36 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeXEnum); 39 37 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeYEnum); -
issm/trunk/src/c/solutions/control_core.cpp
r6226 r6323 17 17 18 18 /*parameters: */ 19 int verbose=0;20 19 int num_controls; 21 20 int nsteps; … … 67 66 68 67 /*Launch once a complete solution to set up all inputs*/ 69 _printf_("%s\n","preparing initial solution");68 ISSMPRINTF(VerboseControl(),"%s\n"," preparing initial solution"); 70 69 if (isstokes) solutioncore(femmodel); 71 70 … … 81 80 82 81 /*Display info*/ 83 _printf_("\n%s%i%s%i\n"," control method step ",n+1,"/",nsteps);82 ISSMPRINTF(VerboseControl(),"\n%s%i%s%i\n"," control method step ",n+1,"/",nsteps); 84 83 InputUpdateFromConstantx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,(int)responses[n],CmResponseEnum); 85 84 … … 87 86 if (solution_type==SteadystateSolutionEnum) solutioncore(femmodel); 88 87 89 _printf_("%s\n","compute adjoint state:");88 ISSMPRINTF(VerboseControl(),"%s\n"," compute adjoint state:"); 90 89 adjointcore(femmodel); 91 90 92 _printf_("%s\n"," computing gradJ...");93 91 gradient_core(femmodel,n,search_scalar); 94 92 … … 99 97 } 100 98 101 _printf_("%s\n","optimizing along gradient direction");99 ISSMPRINTF(VerboseControl(),"%s\n"," optimizing along gradient direction"); 102 100 optargs.n=n; optpars.maxiter=(int)maxiter[n]; optpars.cm_jump=cm_jump[n]; 103 101 BrentSearch(&search_scalar,J+n,&optpars,&objectivefunctionC,&optargs); 104 102 //OptimalSearch(&search_scalar,J+n,&optpars,&objectivefunctionC,&optargs); 105 103 106 _printf_("%s\n"," updating parameter using optimized search scalar..."); //true means update save controls104 ISSMPRINTF(VerboseControl(),"%s\n"," updating parameter using optimized search scalar"); //true means update save controls 107 105 InputControlUpdatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,search_scalar,true); 108 106 … … 111 109 /*Temporary saving every 5 control steps: */ 112 110 if (((n+1)%5)==0){ 113 _printf_("%s\n"," saving temporary results...");111 ISSMPRINTF(VerboseControl(),"%s\n"," saving temporary results"); 114 112 controlrestart(femmodel,J); 115 113 } 116 114 } 117 115 118 _printf_("%s\n","preparing final solution");116 ISSMPRINTF(VerboseControl(),"%s\n"," preparing final solution"); 119 117 femmodel->parameters->SetParam(false,ControlAnalysisEnum); //needed to turn control result output in solutioncore 120 118 solutioncore(femmodel); -
issm/trunk/src/c/solutions/controlconvergence.cpp
r5713 r6323 32 32 //convergence if convergence criteria fullfilled 33 33 converged=true; 34 _printf_("%s%g%s%g\n"," Convergence criterion: dJ/J = ",(J[i]-J[n])/J[n],"<",eps_cm);34 ISSMPRINTF(VerboseConvergence(),"%s%g%s%g\n"," Convergence criterion: dJ/J = ",(J[i]-J[n])/J[n],"<",eps_cm); 35 35 } 36 36 else{ 37 _printf_("%s%g%s%g\n"," Convergence criterion: dJ/J = ",(J[i]-J[n])/J[n],">",eps_cm);37 ISSMPRINTF(VerboseConvergence(),"%s%g%s%g\n"," Convergence criterion: dJ/J = ",(J[i]-J[n])/J[n],">",eps_cm); 38 38 } 39 39 break; -
issm/trunk/src/c/solutions/diagnostic_core.cpp
r6024 r6323 15 15 16 16 /*parameters: */ 17 int verbose = 0;18 17 bool qmu_analysis = false; 19 18 int dim = -1; … … 28 27 29 28 /* recover parameters:*/ 30 femmodel->parameters->FindParam(&verbose,VerboseEnum);31 29 femmodel->parameters->FindParam(&dim,DimEnum); 32 30 femmodel->parameters->FindParam(&ishutter,IsHutterEnum); … … 52 50 if(ishutter){ 53 51 54 if(verbose)_printf_("%s\n"," computing hutter velocities...");52 ISSMPRINTF(VerboseControl(),"%s\n"," computing hutter velocities"); 55 53 56 54 //Take the last velocity into account so that the velocity on the MacAyeal domain is not zero … … 65 63 if (ismacayealpattyn^isstokes){ 66 64 67 if(verbose)_printf_("%s\n"," computing horizontal velocities...");65 ISSMPRINTF(VerboseControl(),"%s\n"," computing velocities"); 68 66 femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum); 69 67 solver_diagnostic_nonlinear(femmodel,modify_loads); … … 72 70 if (ismacayealpattyn && isstokes){ 73 71 74 if(verbose)_printf_("%s\n"," computing coupling macayealpattyn and stokes velocities and pressure ...");72 ISSMPRINTF(VerboseControl(),"%s\n"," computing coupling macayealpattyn and stokes velocities and pressure "); 75 73 solver_stokescoupling_nonlinear(femmodel,conserve_loads); 76 74 } … … 78 76 if (dim==3 & (ishutter || ismacayealpattyn)){ 79 77 80 if(verbose)_printf_("%s\n"," computing vertical velocities...");78 ISSMPRINTF(VerboseControl(),"%s\n"," computing vertical velocities"); 81 79 femmodel->SetCurrentConfiguration(DiagnosticVertAnalysisEnum); 82 80 solver_linear(femmodel); … … 85 83 86 84 if(solution_type==DiagnosticSolutionEnum && !control_analysis){ 87 if(verbose)_printf_("saving results:\n");85 ISSMPRINTF(VerboseControl()," saving results\n"); 88 86 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum); 89 87 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum); -
issm/trunk/src/c/solutions/gradient_core.cpp
r6240 r6323 17 17 /*parameters: */ 18 18 bool control_steady; 19 int verbose;20 19 int num_controls; 21 20 int *control_type = NULL; … … 33 32 femmodel->parameters->FindParam(&control_type,NULL,ControlTypeEnum); 34 33 femmodel->parameters->FindParam(&optscal_list,NULL,NULL,OptScalEnum); 35 femmodel->parameters->FindParam(&verbose,VerboseEnum);36 34 37 35 /*Compute and norm gradient of all controls*/ 38 36 for (int i=0;i<num_controls;i++){ 39 37 40 if(verbose)_printf_("compute gradient of J with respect to %s\n",EnumToString(control_type[i]));38 ISSMPRINTF(VerboseControl()," compute gradient of J with respect to %s\n",EnumToString(control_type[i])); 41 39 Gradjx(&gradient, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters, control_type[i]); 42 40 … … 44 42 45 43 if (step>0 && search_scalar==0){ 46 _printf_("%s"," orthogonalization...\n");44 ISSMPRINTF(VerboseControl()," orthogonalization\n"); 47 45 ControlInputGetGradientx(&old_gradient,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters,control_type[i]); 48 46 Orthx(&new_gradient,gradient,old_gradient); VecFree(&old_gradient); VecFree(&gradient); 49 47 } 50 48 else{ 51 _printf_("%s"," normalizing directions...\n");49 ISSMPRINTF(VerboseControl()," normalizing directions\n"); 52 50 Orthx(&new_gradient,gradient,NULL); VecFree(&gradient); 53 51 } -
issm/trunk/src/c/solutions/issm.cpp
r6014 r6323 51 51 MPI_Comm_size(MPI_COMM_WORLD,&num_procs); 52 52 53 _printf_(" recover solution and file names:\n");53 _printf_("Launching solution sequence\n"); 54 54 solution_type=StringToEnum(argv[1]); 55 55 inputfilename=argv[3]; … … 69 69 output_fid=pfopen(outputfilename,"wb"); 70 70 71 _printf_("create finite element model:\n");72 71 femmodel=new FemModel(input_fid,solution_type,analyses,numanalyses); 73 72 -
issm/trunk/src/c/solutions/prognostic_core.cpp
r5318 r6323 14 14 15 15 /*parameters: */ 16 int verbose=0;17 16 int solution_type; 18 17 bool control_analysis; … … 22 21 23 22 /*recover parameters: */ 24 femmodel->parameters->FindParam(&verbose,VerboseEnum);25 23 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); 26 24 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 27 25 28 _printf_("call computational core:\n");26 ISSMPRINTF(VerboseSolution()," call computational core\n"); 29 27 solver_linear(femmodel); 30 28 31 29 if(solution_type==PrognosticSolutionEnum && !control_analysis){ 32 if(verbose)_printf_("saving results:\n");30 ISSMPRINTF(VerboseSolution()," saving results\n"); 33 31 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum); 34 32 } -
issm/trunk/src/c/solutions/steadystate_core.cpp
r5318 r6323 18 18 19 19 /*parameters: */ 20 int verbose;21 20 int dim; 22 21 int solution_type; … … 24 23 25 24 /* recover parameters:*/ 26 femmodel->parameters->FindParam(&verbose,VerboseEnum);27 25 femmodel->parameters->FindParam(&dim,DimEnum); 28 26 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); … … 34 32 for(;;){ 35 33 36 if(verbose)_printf_("%s%i\n"," computing temperature and velocity for step: ",step);34 ISSMPRINTF(VerboseSolution(),"%s%i\n"," computing temperature and velocity for step: ",step); 37 35 thermal_core(femmodel); 38 36 39 if(verbose)_printf_("%s\n","computing new velocity");37 ISSMPRINTF(VerboseSolution(),"%s\n"," computing new velocity"); 40 38 diagnostic_core(femmodel); 41 39 42 40 if (step>1){ 43 if(verbose)_printf_("%s\n","checking velocity, temperature and pressure convergence");41 ISSMPRINTF(VerboseSolution(),"%s\n"," checking velocity, temperature and pressure convergence"); 44 42 if(steadystateconvergence(femmodel)) break; 45 43 } 46 44 47 if(verbose)_printf_("%s\n","saving velocity, temperature and pressure to check for convergence at next step");45 ISSMPRINTF(VerboseSolution(),"%s\n"," saving velocity, temperature and pressure to check for convergence at next step"); 48 46 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum,VxOldEnum); 49 47 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum,VyOldEnum); … … 57 55 58 56 if(solution_type==SteadystateSolutionEnum && !control_analysis){ 59 if(verbose)_printf_("saving results:\n");57 ISSMPRINTF(VerboseSolution()," saving results\n"); 60 58 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum); 61 59 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum); -
issm/trunk/src/c/solutions/surfaceslope_core.cpp
r5318 r6323 13 13 14 14 /*parameters: */ 15 int verbose;16 15 int dim; 17 16 bool isstokes; … … 21 20 22 21 /*Recover some parameters: */ 23 femmodel->parameters->FindParam(&verbose,VerboseEnum);24 22 femmodel->parameters->FindParam(&dim,DimEnum); 25 23 femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum); 26 24 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 27 25 28 if(verbose)_printf_("%s\n","computing slope...");26 ISSMPRINTF(VerboseSolution(),"%s\n","computing slope..."); 29 27 30 28 /*Call on core computations: */ … … 35 33 36 34 if(solution_type==SurfaceSlopeSolutionEnum && !control_analysis){ 37 if(verbose)_printf_("saving results:\n");35 ISSMPRINTF(VerboseSolution(),"saving results:\n"); 38 36 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeXEnum); 39 37 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeYEnum); -
issm/trunk/src/c/solutions/thermal_core.cpp
r5318 r6323 18 18 /*intermediary*/ 19 19 double time; 20 int verbose;21 20 int nsteps; 22 21 double ndt; … … 27 26 28 27 //first recover parameters common to all solutions 29 femmodel->parameters->FindParam(&verbose,VerboseEnum);30 28 femmodel->parameters->FindParam(&ndt,NdtEnum); 31 29 femmodel->parameters->FindParam(&dt,DtEnum); … … 43 41 for(i=0;i<nsteps;i++){ 44 42 45 if( verbose)_printf_("time step: %i/%i\n",i+1,nsteps);43 if(nsteps)ISSMPRINTF(VerboseSolution(),"time step: %i/%i\n",i+1,nsteps); 46 44 time=(i+1)*dt; 47 45 … … 50 48 51 49 if(solution_type==ThermalSolutionEnum && !control_analysis){ 52 if(verbose)_printf_("saving results:\n");50 ISSMPRINTF(VerboseSolution()," saving results\n"); 53 51 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,i+1,time); 54 52 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MeltingRateEnum,i+1,time); -
issm/trunk/src/c/solutions/thermal_core_step.cpp
r4839 r6323 14 14 void thermal_core_step(FemModel* femmodel,int step, double time){ 15 15 16 int verbose; 17 18 //first recover parameters common to all solutions 19 femmodel->parameters->FindParam(&verbose,VerboseEnum); 20 21 if(verbose)_printf_("computing temperatures:\n"); 16 ISSMPRINTF(VerboseSolution()," computing temperatures\n"); 22 17 femmodel->SetCurrentConfiguration(ThermalAnalysisEnum); 23 18 solver_thermal_nonlinear(femmodel); 24 19 25 if(verbose)_printf_("computing melting:\n");20 ISSMPRINTF(VerboseSolution()," computing melting\n"); 26 21 femmodel->SetCurrentConfiguration(MeltingAnalysisEnum); 27 22 solver_linear(femmodel); -
issm/trunk/src/c/solutions/transient2d_core.cpp
r6130 r6323 16 16 17 17 /*parameters: */ 18 int verbose = 0;19 18 double finaltime; 20 19 double dt ,yts; … … 29 28 30 29 /* recover parameters: */ 31 femmodel->parameters->FindParam(&verbose,VerboseEnum);32 30 femmodel->parameters->FindParam(&finaltime,NdtEnum); 33 31 femmodel->parameters->FindParam(&dt,DtEnum); … … 49 47 step+=1; 50 48 51 _printf_("%s%g%s%i%s%g%s%g\n","time [yr]: ",time/yts," iteration number: ",step,"/",floor(finaltime/dt)," dt [yr]: ",dt/yts);49 ISSMPRINTF(VerboseSolution(),"%s%g%s%i%s%g%s%g\n","time [yr]: ",time/yts," iteration number: ",step,"/",floor(finaltime/dt)," dt [yr]: ",dt/yts); 52 50 53 if(verbose)_printf_("%s\n","computing new velocity");51 ISSMPRINTF(VerboseSolution(),"%s\n"," computing new velocity"); 54 52 diagnostic_core(femmodel); 55 53 56 if(verbose)_printf_("%s\n","computing new thickness");54 ISSMPRINTF(VerboseSolution(),"%s\n"," computing new thickness"); 57 55 prognostic_core(femmodel); 58 56 59 if(verbose)_printf_("%s\n","updating geometry");57 ISSMPRINTF(VerboseSolution(),"%s\n"," updating geometry"); 60 58 UpdateGeometryx(femmodel->elements, femmodel->nodes,femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters); 61 59 62 60 if(solution_type==Transient2DSolutionEnum && !control_analysis && (step%output_frequency==0)){ 63 if(verbose)_printf_("%s\n","saving results:\n");61 ISSMPRINTF(VerboseSolution(),"%s\n"," saving results\n"); 64 62 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum,step,time); 65 63 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum,step,time); … … 71 69 72 70 /*unload results*/ 73 if(verbose)_printf_("%s"," saving temporary results...");71 ISSMPRINTF(VerboseSolution(),"%s"," saving temporary results"); 74 72 OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results,step,time); 75 73 } -
issm/trunk/src/c/solutions/transient3d_core.cpp
r6130 r6323 16 16 17 17 /*parameters: */ 18 int verbose = 0;19 18 double finaltime; 20 19 double dt,yts; … … 29 28 30 29 //first recover parameters common to all solutions 31 femmodel->parameters->FindParam(&verbose,VerboseEnum);32 30 femmodel->parameters->FindParam(&finaltime,NdtEnum); 33 31 femmodel->parameters->FindParam(&dt,DtEnum); … … 49 47 time+=dt; 50 48 51 _printf_("%s%g%s%i%s%g%s%g\n","time [yr]: ",time/yts," iteration number: ",step,"/",floor(finaltime/dt)," dt [yr]: ",dt/yts);49 ISSMPRINTF(VerboseSolution(),"%s%g%s%i%s%g%s%g\n","time [yr]: ",time/yts," iteration number: ",step,"/",floor(finaltime/dt)," dt [yr]: ",dt/yts); 52 50 53 if(verbose)_printf_("computing temperatures:\n");51 ISSMPRINTF(VerboseSolution()," computing temperatures:\n"); 54 52 thermal_core_step(femmodel,step,time); 55 53 56 if(verbose)_printf_("%s\n","computing new velocity");54 ISSMPRINTF(VerboseSolution(),"%s\n"," computing new velocity"); 57 55 diagnostic_core(femmodel); 58 56 59 if(verbose)_printf_("%s\n","computing new thickness");57 ISSMPRINTF(VerboseSolution(),"%s\n"," computing new thickness"); 60 58 prognostic_core(femmodel); 61 59 62 if(verbose)_printf_(" updating geometry\n");60 ISSMPRINTF(VerboseSolution()," updating geometry\n"); 63 61 UpdateGeometryx(femmodel->elements, femmodel->nodes,femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters); 64 62 65 if(verbose)_printf_("%s\n","updating vertices positions");63 ISSMPRINTF(VerboseSolution(),"%s\n"," updating vertices positions"); 66 64 UpdateVertexPositionsx(femmodel->elements, femmodel->nodes,femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters); 67 65 68 66 if(solution_type==Transient3DSolutionEnum && !control_analysis && (step%output_frequency==0)){ 69 if(verbose)_printf_("%s\n","saving results:\n");67 ISSMPRINTF(VerboseSolution(),"%s\n"," saving results\n"); 70 68 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum,step,time); 71 69 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum,step,time); … … 80 78 81 79 /*unload results*/ 82 if(verbose)_printf_("%s"," saving temporary results...");80 ISSMPRINTF(VerboseSolution(),"%s"," saving temporary results"); 83 81 OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results,step,time); 84 82 } -
issm/trunk/src/c/solvers/solver_diagnostic_nonlinear.cpp
r6011 r6323 23 23 24 24 /*parameters:*/ 25 int verbose=0;26 25 bool kffpartitioning=false; 27 26 int min_mechanical_constraints; … … 29 28 30 29 /*Recover parameters: */ 31 femmodel->parameters->FindParam(&verbose,VerboseEnum);32 30 femmodel->parameters->FindParam(&kffpartitioning,KffEnum); 33 31 femmodel->parameters->FindParam(&min_mechanical_constraints,MinMechanicalConstraintsEnum); … … 71 69 72 70 PenaltyConstraintsx(&constraints_converged, &num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,loads,femmodel->materials,femmodel->parameters); 73 if(verbose)_printf_(" number of unstable constraints: %i\n",num_unstable_constraints);71 ISSMPRINTF(VerboseConvergence()," number of unstable constraints: %i\n",num_unstable_constraints); 74 72 75 73 convergence(&converged,Kff,pf,uf,old_uf,femmodel->parameters); MatFree(&Kff);VecFree(&pf); -
issm/trunk/src/c/solvers/solver_stokescoupling_nonlinear.cpp
r6024 r6323 25 25 26 26 /*parameters:*/ 27 int verbose=0;28 27 bool kffpartitioning=false; 29 28 int min_mechanical_constraints; … … 31 30 32 31 /*Recover parameters: */ 33 femmodel->parameters->FindParam(&verbose,VerboseEnum);34 32 femmodel->parameters->FindParam(&kffpartitioning,KffEnum); 35 33 femmodel->parameters->FindParam(&min_mechanical_constraints,MinMechanicalConstraintsEnum); -
issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp
r6011 r6323 32 32 /*parameters:*/ 33 33 int kflag,pflag; 34 int verbose=0;35 34 bool lowmem=0; 36 35 bool kffpartitioning; … … 39 38 kflag=1; pflag=1; 40 39 femmodel->parameters->FindParam(&kffpartitioning,KffEnum); 41 femmodel->parameters->FindParam(&verbose,VerboseEnum);42 40 femmodel->parameters->FindParam(&lowmem,LowmemEnum); 43 41 femmodel->parameters->FindParam(&min_thermal_constraints,MinThermalConstraintsEnum); … … 46 44 converged=false; 47 45 48 if(verbose)_printf_("%s\n","starting direct shooting method");46 ISSMPRINTF(VerboseSolution(),"%s\n","starting direct shooting method"); 49 47 InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,reset_penalties,ResetPenaltiesEnum); 50 48 InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,false,ConvergedEnum); … … 73 71 74 72 if (!converged){ 75 if(verbose)_printf_("%s%i\n"," #unstable constraints = ",num_unstable_constraints);73 ISSMPRINTF(VerboseConvergence(),"%s%i\n"," #unstable constraints = ",num_unstable_constraints); 76 74 if (num_unstable_constraints <= min_thermal_constraints)converged=true; 77 75 } -
issm/trunk/src/m/classes/@model/setdefaultparameters.m
r6304 r6323 88 88 %parameter used to print temporary results (convergence criterion, 89 89 %current step,...) 90 md.verbose=verbose ;90 md.verbose=verbose('solution',true,'qmu',true,'control',true); 91 91 92 92 %Stokes mesh -
issm/trunk/src/m/classes/verbose.m
r6319 r6323 14 14 % {{{1 15 15 %BEGINFIELDS 16 mprocessor=false; 16 17 module=false; 18 solution=false; 19 solver=false; 17 20 convergence=false; 18 mprocessor=false;19 solver=false;21 control=false; 22 qmu=false; 20 23 %ENDFIELDS 21 24 % }}} … … 53 56 %BEGINVERB2BIN 54 57 binary=0; 55 if (verbose.m odule), binary=bitor(binary,1); end56 if (verbose. convergence), binary=bitor(binary,2); end57 if (verbose. mprocessor), binary=bitor(binary,4); end58 if (verbose.mprocessor), binary=bitor(binary,1); end 59 if (verbose.module), binary=bitor(binary,2); end 60 if (verbose.solution), binary=bitor(binary,4); end 58 61 if (verbose.solver), binary=bitor(binary,8); end 62 if (verbose.convergence), binary=bitor(binary,16); end 63 if (verbose.control), binary=bitor(binary,32); end 64 if (verbose.qmu), binary=bitor(binary,64); end 59 65 %ENDVERB2BIN 60 66 … … 64 70 65 71 %BEGINBIN2VERB 66 if bitand(binary,1), verbose.m odule=true; else verbose.module=false; end67 if bitand(binary,2), verbose. convergence=true; else verbose.convergence=false; end68 if bitand(binary,4), verbose. mprocessor=true; else verbose.mprocessor=false; end72 if bitand(binary,1), verbose.mprocessor=true; else verbose.mprocessor=false; end 73 if bitand(binary,2), verbose.module=true; else verbose.module=false; end 74 if bitand(binary,4), verbose.solution=true; else verbose.solution=false; end 69 75 if bitand(binary,8), verbose.solver=true; else verbose.solver=false; end 76 if bitand(binary,16), verbose.convergence=true; else verbose.convergence=false; end 77 if bitand(binary,32), verbose.control=true; else verbose.control=false; end 78 if bitand(binary,64), verbose.qmu=true; else verbose.qmu=false; end 70 79 %ENDBIN2VERB 71 80 … … 76 85 %BEGINDISP 77 86 disp(sprintf('class ''%s'' = ',class(verbose))); 87 disp(sprintf(' %10s : %s','mprocessor',mat2str(verbose.mprocessor))); 78 88 disp(sprintf(' %10s : %s','module',mat2str(verbose.module))); 89 disp(sprintf(' %10s : %s','solution',mat2str(verbose.solution))); 90 disp(sprintf(' %10s : %s','solver',mat2str(verbose.solver))); 79 91 disp(sprintf(' %10s : %s','convergence',mat2str(verbose.convergence))); 80 disp(sprintf(' %10s : %s',' mprocessor',mat2str(verbose.mprocessor)));81 disp(sprintf(' %10s : %s',' solver',mat2str(verbose.solver)));92 disp(sprintf(' %10s : %s','control',mat2str(verbose.control))); 93 disp(sprintf(' %10s : %s','qmu',mat2str(verbose.qmu))); 82 94 %ENDDISP 83 95 -
issm/trunk/src/m/model/solve.m
r6304 r6323 43 43 assignin('base',inputname(1),md); 44 44 45 disp('launching solution sequence');46 47 45 %If running in parallel, we have a different way of launching the solution 48 46 %sequences. -
issm/trunk/src/m/shared/VerboseConvergence.m
r6318 r6323 9 9 % bool=VerboseConvergence() 10 10 11 bool=logical(bitand(GetVerbosityLevel(), 2));11 bool=logical(bitand(GetVerbosityLevel(),16)); -
issm/trunk/src/m/shared/VerboseMProcessor.m
r6318 r6323 9 9 % bool=VerboseMProcessor() 10 10 11 bool=logical(bitand(GetVerbosityLevel(), 4));11 bool=logical(bitand(GetVerbosityLevel(),1)); -
issm/trunk/src/m/shared/VerboseModule.m
r6318 r6323 9 9 % bool=VerboseModule() 10 10 11 bool=logical(bitand(GetVerbosityLevel(), 1));11 bool=logical(bitand(GetVerbosityLevel(),2)); -
issm/trunk/src/m/solutions/ResetBoundaryConditions.m
r6321 r6323 7 7 % femmodel=ResetBoundaryConditions(femmodel,analysis_type) 8 8 9 10 %recover parameters common to all solutions 11 verbose=femmodel.parameters.Verbose; 12 13 issmprintf(verbose,'\n%s',['updating boundary condition ...']); 9 issmprintf(VerboseSolution,'\n%s',[' updating boundary condition ...']); 14 10 15 11 %set current analysis: -
issm/trunk/src/m/solutions/SpawnCore.m
r6321 r6323 7 7 8 8 %retrieve parameters 9 verbose=femmodel.parameters.Verbose;10 9 responsedescriptors=femmodel.parameters.ResponseDescriptors; 11 10 solution_type=femmodel.parameters.SolutionType; 12 11 control_analysis=femmodel.parameters.ControlAnalysis; 13 12 14 issmprintf( 1,'%s%i',[' qmu iteration:'],counter);13 issmprintf(VerboseQmu(),'%s%i',[' qmu iteration:'],counter); 15 14 16 15 %first update the inputs to the femmodel using the variables provided to us by dakota. -
issm/trunk/src/m/solutions/adjointbalancedthickness_core.m
r6321 r6323 6 6 7 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose;9 8 control_analysis=femmodel.parameters.ControlAnalysis; 10 9 solution_type=femmodel.parameters.SolutionType; 11 10 12 11 %set analysis type to compute velocity: 13 issmprintf( '\n%s',[' computing thickness']);12 issmprintf(VerboseSolution,' computing thickness'); 14 13 femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum); 15 14 femmodel=solver_linear(femmodel); … … 19 18 20 19 %compute adjoint 21 issmprintf( '\n%s',[' computing adjoint']);20 issmprintf(VerboseSolution,' computing adjoint'); 22 21 femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum,AdjointBalancedthicknessAnalysisEnum); 23 22 femmodel=solver_adjoint_linear(femmodel); … … 26 25 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum); 27 26 if(solution_type==AdjointSolutionEnum & ~control_analysis) 28 issmprintf( verbose,'\n%s',[' saving results...']);27 issmprintf(VerboseSolution,' saving results'); 29 28 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum); 30 29 end -
issm/trunk/src/m/solutions/adjointdiagnostic_core.m
r6321 r6323 6 6 7 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose;9 8 isstokes=femmodel.parameters.IsStokes; 10 9 dim=femmodel.parameters.Dim; … … 14 13 15 14 %set analysis type to compute velocity: 16 issmprintf( '\n%s',[' computing velocities']);15 issmprintf(VerboseSolution,' computing velocities'); 17 16 femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum); 18 17 femmodel=solver_diagnostic_nonlinear(femmodel,conserve_loads); … … 22 21 23 22 %compute adjoint 24 issmprintf( '\n%s',[' computing adjoint']);23 issmprintf(VerboseSolution,' computing adjoint'); 25 24 femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum,AdjointHorizAnalysisEnum); 26 25 femmodel=solver_adjoint_linear(femmodel); … … 28 27 %save results 29 28 if(solution_type==AdjointSolutionEnum & ~control_analysis) 30 issmprintf( verbose,'\n%s',[' saving results...']);29 issmprintf(VerboseSolution,' saving results'); 31 30 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointxEnum); 32 31 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointyEnum); -
issm/trunk/src/m/solutions/balancedthickness_core.m
r6321 r6323 6 6 7 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose;9 8 dim=femmodel.parameters.Dim; 10 9 control_analysis=femmodel.parameters.ControlAnalysis; … … 14 13 femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum); 15 14 16 issmprintf( verbose,'\n%s',['call computational core...']);15 issmprintf(VerboseSolution,' call computational core'); 17 16 femmodel=solver_linear(femmodel); 18 17 19 18 if (solution_type==BalancedthicknessSolutionEnum & ~control_analysis), 20 issmprintf( verbose,'\n%s',['saving results...']);19 issmprintf(VerboseSolution,' saving results'); 21 20 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum); 22 21 end -
issm/trunk/src/m/solutions/balancedvelocities_core.m
r6321 r6323 6 6 7 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose;9 8 dim=femmodel.parameters.Dim; 10 9 control_analysis=femmodel.parameters.ControlAnalysis; … … 14 13 femmodel=SetCurrentConfiguration(femmodel,BalancedvelocitiesAnalysisEnum); 15 14 16 issmprintf( verbose,'\n%s',['call computational core...']);15 issmprintf(VerboseSolution,' call computational core'); 17 16 femmodel=solver_linear(femmodel); 18 17 19 18 if (solution_type==BalancedvelocitiesSolutionEnum & ~control_analysis), 20 issmprintf( verbose,'\n%s',['saving results...']);19 issmprintf(VerboseSolution,' saving results'); 21 20 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VelEnum); 22 21 end -
issm/trunk/src/m/solutions/bedslope_core.m
r6321 r6323 7 7 8 8 %Recover some parameters: 9 verbose=femmodel.parameters.Verbose;10 9 dim=femmodel.parameters.Dim; 11 10 control_analysis=femmodel.parameters.ControlAnalysis; 12 11 solution_type=femmodel.parameters.SolutionType; 13 12 14 issmprintf( verbose,'\n%s',['computing bed slope...']);13 issmprintf(VerboseSolution,' computing bed slope'); 15 14 16 15 %Call on core computations: … … 21 20 22 21 if (solution_type==BedSlopeSolutionEnum & ~control_analysis), 23 issmprintf( verbose,'\n%s',['saving results...']);22 issmprintf(VerboseSolution,' saving results'); 24 23 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeXEnum); 25 24 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeYEnum); -
issm/trunk/src/m/solutions/control_core.m
r6321 r6323 7 7 8 8 %recover parameters common to all solutions 9 verbose=femmodel.parameters.Verbose;10 9 nsteps=femmodel.parameters.NSteps; 11 10 num_controls=femmodel.parameters.NumControls; … … 34 33 35 34 %Launch once a complete solution to set up all inputs 36 disp('preparing initial solution');35 issmprintf(VerboseControl,' preparing initial solution'); 37 36 if isstokes, 38 37 eval(['femmodel=' solutioncore '(femmodel);']); … … 41 40 for n=1:nsteps, 42 41 43 disp(sprintf('\n%s%s%s%s\n',[' control method step ' num2str(n) '/' num2str(femmodel.parameters.NSteps)]));42 issmprintf(VerboseControl(),['control method step ' num2str(n) '/' num2str(femmodel.parameters.NSteps)]); 44 43 [femmodel.elements,femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,responses(n),CmResponseEnum); 45 44 … … 49 48 end 50 49 51 issmprintf( verbose,'\n%s',[' compute adjoint state...']);50 issmprintf(VerboseControl,' compute adjoint state'); 52 51 eval(['femmodel=' adjointcore '(femmodel);']); 53 52 54 issmprintf(verbose,'\n%s',[' computing gradJ...']);55 53 femmodel=gradient_core(femmodel,n,search_scalar); 56 54 … … 61 59 end 62 60 63 issmprintf( verbose,'\n%s',[' optimizing along gradient direction...']);61 issmprintf(VerboseControl,' optimizing along gradient direction'); 64 62 [search_scalar J(n)]=ControlOptimization('objectivefunctionC',0,1,options,femmodel,n,femmodel.parameters); 65 63 66 issmprintf( '\n%s',[' updating parameter using optimized search scalar:']);64 issmprintf(VerboseControl,' updating parameter using optimized search scalar'); 67 65 [femmodel.elements,femmodel.nodes,femmmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=InputControlUpdate(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,search_scalar,1); 68 69 disp([' value of misfit J after optimization #' num2str(n) ':' num2str(J(n))]); 66 issmprintf(VerboseControl,[' value of misfit J after optimization #' num2str(n) ':' num2str(J(n))]); 70 67 71 68 %Has convergence been reached? … … 78 75 79 76 %generate output 80 issmprintf( verbose,'\n%s',[' preparing final velocity solution...']);77 issmprintf(VerboseControl,' preparing final velocity solution'); 81 78 femmodel.parameters.ControlAnalysis=0; 82 79 eval(['femmodel=' solutioncore '(femmodel);']); -
issm/trunk/src/m/solutions/controlconvergence.m
r6321 r6323 15 15 %convergence if convergence criteria fullfilled 16 16 convergence=true; 17 issmprintf( '\n%s%g%s%g\n',' Convergence criterion: dJ/J = ',(J(i)-J(n))/J(n),'<',eps_cm);17 issmprintf(VerboseConvergence(),'\n%s%g%s%g\n',' Convergence criterion: dJ/J = ',(J(i)-J(n))/J(n),'<',eps_cm); 18 18 else 19 issmprintf( '\n%s%g%s%g\n',' Convergence criterion: dJ/J = ',(J(i)-J(n))/J(n),'>',eps_cm);19 issmprintf(VerboseConvergence(),'\n%s%g%s%g\n',' Convergence criterion: dJ/J = ',(J(i)-J(n))/J(n),'>',eps_cm); 20 20 end 21 21 break; -
issm/trunk/src/m/solutions/diagnostic_core.m
r6321 r6323 11 11 12 12 %recover parameters common to all solutions 13 verbose=femmodel.parameters.Verbose;14 13 dim=femmodel.parameters.Dim; 15 14 ishutter=femmodel.parameters.IsHutter; … … 35 34 if ishutter, 36 35 37 issmprintf( verbose,'\n%s',['computing hutter velocities...']);36 issmprintf(VerboseSolution,'\n%s',[' computing hutter velocities']); 38 37 39 38 %Take the last velocity into account so that the velocity on the MacAyeal domain is not zero … … 49 48 if xor(ismacayealpattyn,isstokes), %if macayealpattyn and stokes, we must use stokescoupling 50 49 51 issmprintf( verbose,'\n%s',['computing horizontal velocities...']);50 issmprintf(VerboseSolution,'\n%s',[' computing horizontal velocities']); 52 51 femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum); 53 52 femmodel=solver_diagnostic_nonlinear(femmodel,modify_loads); … … 56 55 if ismacayealpattyn & isstokes, 57 56 58 issmprintf( verbose,'\n%s',['computing coupling velocities for macayealpattyn and stokes...']);57 issmprintf(VerboseSolution,'\n%s',[' computing coupling velocities for macayealpattyn and stokes']); 59 58 femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum); 60 59 femmodel=solver_stokescoupling_nonlinear(femmodel,conserve_loads); … … 63 62 if dim==3 & (ismacayealpattyn | ishutter) & ~isstokes, 64 63 65 issmprintf( verbose,'\n%s',['computing vertical velocities...']);64 issmprintf(VerboseSolution,'\n%s',[' computing vertical velocities']); 66 65 femmodel=SetCurrentConfiguration(femmodel,DiagnosticVertAnalysisEnum); 67 66 femmodel=solver_linear(femmodel); … … 69 68 70 69 if (solution_type==DiagnosticSolutionEnum & ~control_analysis) 71 issmprintf( verbose,'\n%s',['saving results...']);70 issmprintf(VerboseSolution,'\n%s',[' saving results']); 72 71 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum); 73 72 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum); -
issm/trunk/src/m/solutions/gradient_core.m
r6321 r6323 21 21 22 22 %recover parameters common to all solutions 23 verbose=femmodel.parameters.Verbose;24 23 num_controls=femmodel.parameters.NumControls; 25 24 control_type=femmodel.parameters.ControlType; … … 29 28 for i=1:num_controls, 30 29 31 issmprintf( verbose,[' compute gradient of J with respect to %s\n'],EnumToString(control_type(i)));30 issmprintf(VerboseControl,[' compute gradient of J with respect to %s'],EnumToString(control_type(i))); 32 31 grad=Gradj(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,control_type(i)); 33 32 … … 37 36 38 37 if (step>1 && search_scalar==0), 39 issmprintf( verbose,'%s\n',[' orthogonalization...']);38 issmprintf(VerboseControl,'%s',[' orthogonalization']); 40 39 old_gradient=ControlInputGetGradient(femmodel.elements,femmodel.nodes, femmodel.vertices,femmodel.loads, femmodel.materials,femmodel.parameters,control_type(i)); 41 40 new_gradient=Orth(grad,old_gradient); 42 41 else 43 issmprintf( verbose,'%s\n',[' normalizing direction...']);42 issmprintf(VerboseControl,'%s',[' normalizing direction']); 44 43 new_gradient=Orth(grad,[]); 45 44 end -
issm/trunk/src/m/solutions/issm.m
r6321 r6323 7 7 %timing 8 8 t1=clock; 9 disp('launching solution sequence'); 9 10 10 11 %out of solution_type, figure out solution core function pointer, and types of analyses needed: 11 12 [analyses,numanalyses,solutioncore]=SolutionConfiguration(solution_type); 12 13 13 disp('create finite element model');14 %create finite element model 14 15 femmodel=NewFemModel(md,solution_type,analyses,numanalyses); 15 16 16 17 %retrieve parameters 17 verbose=femmodel.parameters.Verbose;18 18 qmu_analysis=femmodel.parameters.QmuAnalysis; 19 19 control_analysis=femmodel.parameters.ControlAnalysis; … … 25 25 if ~qmu_analysis, 26 26 27 issmprintf( verbose,'%s',['call computational core']);27 issmprintf(VerboseSolution,'%s',['call computational core']); 28 28 eval(['femmodel=' solutioncore '(femmodel);']); 29 29 30 issmprintf( verbose,'%s',['write results'])30 issmprintf(VerboseSolution,'%s',['write results']) 31 31 md.results.(EnumToString(solution_type))=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results); 32 32 else -
issm/trunk/src/m/solutions/prognostic_core.m
r6321 r6323 6 6 7 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose;9 8 control_analysis=femmodel.parameters.ControlAnalysis; 10 9 solution_type=femmodel.parameters.SolutionType; … … 13 12 femmodel=SetCurrentConfiguration(femmodel,PrognosticAnalysisEnum); 14 13 15 issmprintf( verbose,'\n%s',['call computational core...']);14 issmprintf(VerboseSolution,'\n%s',[' call computational core']); 16 15 femmodel=solver_linear(femmodel); 17 16 18 17 if (solution_type==PrognosticSolutionEnum & ~control_analysis) 19 issmprintf( verbose,'\n%s',['saving results...']);18 issmprintf(VerboseSolution,'\n%s',[' saving results']); 20 19 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum); 21 20 end -
issm/trunk/src/m/solutions/steadystate_core.m
r6321 r6323 7 7 8 8 %recover parameters common to all solutions 9 verbose=femmodel.parameters.Verbose;10 9 dim=femmodel.parameters.Dim; 11 10 control_analysis=femmodel.parameters.ControlAnalysis; … … 17 16 while true, 18 17 19 issmprintf( verbose,'\n%s%i\n','computing velocities and temperatures for step: ',step);18 issmprintf(VerboseSolution,'\n%s%i\n',' computing velocities and temperatures for step: ',step); 20 19 femmodel=thermal_core(femmodel); 21 20 22 issmprintf( verbose,'\n%s',['computing new velocity...']);21 issmprintf(VerboseSolution,'\n%s',[' computing new velocity']); 23 22 femmodel=diagnostic_core(femmodel); 24 23 25 24 if step>1, 26 issmprintf( verbose,'\n%s',['checking temperature, velocity and pressure convergence...']);25 issmprintf(VerboseSolution,'\n%s',[' checking temperature, velocity and pressure convergence']); 27 26 if steadystateconvergence(femmodel), break; end 28 27 end 29 28 30 issmprintf( verbose,'\n%s',['saving velocities, temperature and pressure for convergence...']);29 issmprintf(VerboseSolution,'\n%s',[' saving velocities, temperature and pressure for convergence']); 31 30 femmodel.elements=InputDuplicate(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,VxOldEnum); 32 31 femmodel.elements=InputDuplicate(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum,VyOldEnum); … … 40 39 41 40 if (solution_type==SteadystateSolutionEnum & ~control_analysis), 42 issmprintf( verbose,'\n%s',['saving results...']);41 issmprintf(VerboseSolution,'\n%s',[' saving results']); 43 42 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum); 44 43 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum); -
issm/trunk/src/m/solutions/surfaceslope_core.m
r6321 r6323 7 7 8 8 %Recover some parameters: 9 verbose=femmodel.parameters.Verbose;10 9 dim=femmodel.parameters.Dim; 11 10 control_analysis=femmodel.parameters.ControlAnalysis; 12 11 solution_type=femmodel.parameters.SolutionType; 13 12 14 issmprintf(verbose,'\n%s',['computing surface slope...']);15 16 13 %Call on core computations: 14 issmprintf(VerboseSolution,'\n%s',[' computing surface slope']); 17 15 femmodel=SetCurrentConfiguration(femmodel,SurfaceSlopeAnalysisEnum,SurfaceSlopeXAnalysisEnum); 18 16 femmodel=solver_linear(femmodel); … … 21 19 22 20 if (solution_type==SurfaceSlopeSolutionEnum), 23 issmprintf( verbose,'\n%s',['saving results...']);21 issmprintf(VerboseSolution,'\n%s',[' saving results']); 24 22 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeXEnum); 25 23 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeYEnum); -
issm/trunk/src/m/solutions/thermal_core.m
r6321 r6323 7 7 8 8 %recover parameters common to all solutions 9 verbose=femmodel.parameters.Verbose;10 9 ndt=femmodel.parameters.Ndt; 11 10 dt=femmodel.parameters.Dt; … … 23 22 %Loop through time 24 23 for i=1:nsteps, 25 issmprintf( verbose,'\n%s%i/%i\n','time step: ',i,nsteps);24 issmprintf(VerboseSolution,'\n%s%i/%i\n','time step: ',i,nsteps); 26 25 time=(i+1)*dt; 27 26 28 issmprintf( verbose,'\n%s',['computing temperature...']);27 issmprintf(VerboseSolution,'\n%s',[' computing temperature']); 29 28 femmodel=thermal_core_step(femmodel,i,time); 30 29 31 30 if (solution_type==ThermalSolutionEnum & ~control_analysis), 32 issmprintf( verbose,'\n%s',['saving results...']);31 issmprintf(VerboseSolution,'\n%s',[' saving results']); 33 32 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,i,time); 34 33 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,MeltingRateEnum,i,time); -
issm/trunk/src/m/solutions/thermal_core_step.m
r6321 r6323 5 5 % femmodel=thermal_core_step(femmodel,step,time) 6 6 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose; 9 10 issmprintf(verbose,'\n%s',['computing temperature...']); 7 issmprintf(VerboseSolution,'\n%s',[' computing temperature']); 11 8 femmodel=SetCurrentConfiguration(femmodel,ThermalAnalysisEnum); 12 9 femmodel=solver_thermal_nonlinear(femmodel); 13 10 14 issmprintf( verbose,'\n%s',['compute melting...']);11 issmprintf(VerboseSolution,'\n%s',[' computing melting']); 15 12 femmodel=SetCurrentConfiguration(femmodel,MeltingAnalysisEnum); 16 13 femmodel=solver_linear(femmodel); -
issm/trunk/src/m/solutions/transient2d_core.m
r6321 r6323 6 6 7 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose;9 8 ndt=femmodel.parameters.Ndt; 10 9 dt=femmodel.parameters.Dt; … … 27 26 time=time+dt; 28 27 29 issmprintf( verbose,'\n%s%g%s%i%s%g\n','time [yr]: ',time,' iteration number: ',step,'/',floor(ndt/dt));28 issmprintf(VerboseSolution,'\n%s%g%s%i%s%g\n','time [yr]: ',time,' iteration number: ',step,'/',floor(ndt/dt)); 30 29 31 issmprintf( verbose,'\n%s',['computing new velocities...']);30 issmprintf(VerboseSolution,'\n%s',[' computing new velocities']); 32 31 femmodel=diagnostic_core(femmodel); 33 32 34 issmprintf( verbose,'\n%s',['computing new thickness...']);33 issmprintf(VerboseSolution,'\n%s',[' computing new thickness']); 35 34 femmodel=prognostic_core(femmodel); 36 35 37 issmprintf( verbose,'\n%s',['updating geometry...']);36 issmprintf(VerboseSolution,'\n%s',[' updating geometry']); 38 37 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=UpdateGeometry(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 39 38 40 39 if (solution_type==Transient2DSolutionEnum & ~control_analysis & mod(step,output_frequency)==0), 41 issmprintf( verbose,'\n%s',['saving results...']);40 issmprintf(VerboseSolution,'\n%s',[' saving results']); 42 41 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,step,time); 43 42 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum,step,time); -
issm/trunk/src/m/solutions/transient3d_core.m
r6321 r6323 6 6 7 7 %recover parameters common to all solutions 8 verbose=femmodel.parameters.Verbose;9 8 ndt=femmodel.parameters.Ndt; 10 9 dt=femmodel.parameters.Dt; … … 27 26 time=time+dt; 28 27 29 issmprintf( verbose,'\n%s%g%s%i%s%g\n','time [yr] ',time,' iteration number: ',step,'/',floor(ndt/dt));28 issmprintf(VerboseSolution,'\n%s%g%s%i%s%g\n','time [yr] ',time,' iteration number: ',step,'/',floor(ndt/dt)); 30 29 31 issmprintf( verbose,'\n%s',['computing temperature...']);30 issmprintf(VerboseSolution,'\n%s',[' computing temperature']); 32 31 femmodel=thermal_core_step(femmodel); 33 32 34 issmprintf( verbose,'\n%s',['computing new velocities...']);33 issmprintf(VerboseSolution,'\n%s',[' computing new velocities']); 35 34 femmodel=diagnostic_core(femmodel); 36 35 37 issmprintf( verbose,'\n%s',['computing new thickness...']);36 issmprintf(VerboseSolution,'\n%s',[' computing new thickness']); 38 37 femmodel=prognostic_core(femmodel); 39 38 40 issmprintf( verbose,'\n%s',['updating geometry...']);39 issmprintf(VerboseSolution,'\n%s',[' updating geometry']); 41 40 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=UpdateGeometry(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 42 41 43 issmprintf( verbose,'\n%s',['updating vertices position...']);42 issmprintf(VerboseSolution,'\n%s',[' updating vertices position']); 44 43 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=UpdateVertexPositions(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 45 44 46 45 if (solution_type==Transient3DSolutionEnum & ~control_analysis & mod(step,output_frequency)==0), 47 issmprintf( verbose,'\n%s',['saving results...']);46 issmprintf(VerboseSolution,'\n%s',[' saving results']); 48 47 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,step,time); 49 48 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum,step,time); -
issm/trunk/src/m/solvers/solver_adjoint_linear.m
r6321 r6323 17 17 end 18 18 19 issmprintf( femmodel.parameters.Verbose>1,'%s%g',' condition number of stiffness matrix: ',condest(K_ff));19 issmprintf(VerboseSolver(),'%s%g',' condition number of stiffness matrix: ',condest(K_ff)); 20 20 u_f=Solver(K_ff,p_f,[],femmodel.parameters); 21 21 u_g= Mergesolutionfromftog( u_f, femmodel.ys, femmodel.nodesets,femmodel.parameters,true); -
issm/trunk/src/m/solvers/solver_diagnostic_nonlinear.m
r6321 r6323 43 43 [loads,constraints_converged,num_unstable_constraints] =PenaltyConstraints( femmodel.elements,femmodel.nodes,femmodel.vertices,loads, femmodel.materials,femmodel.parameters); 44 44 45 issmprintf( femmodel.parameters.Verbose,'%s%i',' number of unstable constraints: ',num_unstable_constraints);45 issmprintf(VerboseConvergence(),'%s%i',' number of unstable constraints: ',num_unstable_constraints); 46 46 47 47 %Figure out if convergence have been reached … … 66 66 if(converged==1)break; 67 67 if(count>max_nonlinear_iterations), 68 issmprintf( femmodel.parameters.Verbose,'%s%i%s',' maximum number of iterations ',max_nonlinear_iterations,' exceeded');68 issmprintf(true,'%s%i%s',' maximum number of iterations ',max_nonlinear_iterations,' exceeded'); 69 69 end 70 70 end -
issm/trunk/src/m/solvers/solver_linear.m
r6321 r6323 17 17 end 18 18 19 issmprintf( femmodel.parameters.Verbose>1,'%s%g',' condition number of stiffness matrix: ',condest(K_ff));19 issmprintf(VerboseSolver()>1,'%s%g',' condition number of stiffness matrix: ',condest(K_ff)); 20 20 u_f=Solver(K_ff,p_f,[],femmodel.parameters); 21 21 u_g= Mergesolutionfromftog( u_f, femmodel.ys, femmodel.nodesets,femmodel.parameters); -
issm/trunk/src/m/solvers/solver_thermal_nonlinear.m
r6321 r6323 15 15 femmodel.parameters.Kflag=1; femmodel.parameters.Pflag=1; 16 16 17 issmprintf( femmodel.parameters.Verbose,'\n%s',[' starting direct shooting method']);17 issmprintf(VerboseConvergence(),'\n%s',[' starting direct shooting method']); 18 18 19 19 %Reset penalties and initialize convergence as false … … 32 32 end 33 33 34 issmprintf( femmodel.parameters.Verbose,'%s%g',' condition number of stiffness matrix: ',condest(K_ff));34 issmprintf(VerboseSolver(),'%s%g',' condition number of stiffness matrix: ',condest(K_ff)); 35 35 t_f=Solver(K_ff,p_f,[],femmodel.parameters); 36 36 t_g= Mergesolutionfromftog( t_f, femmodel.ys, femmodel.nodesets,femmodel.parameters); … … 40 40 41 41 if ~converged, 42 issmprintf( femmodel.parameters.Verbose,'%s%i',' #unstable constraints ',num_unstable_constraints);42 issmprintf(VerboseConvergence(),'%s%i',' #unstable constraints ',num_unstable_constraints); 43 43 if num_unstable_constraints<=femmodel.parameters.MinThermalConstraints, 44 44 converged=1;
Note:
See TracChangeset
for help on using the changeset viewer.