Changeset 13083
- Timestamp:
- 08/17/12 13:57:03 (13 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 2 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r13047 r13083 12 12 enum definitions{ 13 13 /*Model fields {{{1*/ 14 AutodiffForwardEnum,15 14 AutodiffIsautodiffEnum, 16 AutodiffReverseEnum,17 15 BalancethicknessSpcthicknessEnum, 18 16 BalancethicknessStabilizationEnum, -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r13047 r13083 17 17 switch(en){ 18 18 19 case AutodiffForwardEnum : return "AutodiffForward";20 19 case AutodiffIsautodiffEnum : return "AutodiffIsautodiff"; 21 case AutodiffReverseEnum : return "AutodiffReverse";22 20 case BalancethicknessSpcthicknessEnum : return "BalancethicknessSpcthickness"; 23 21 case BalancethicknessStabilizationEnum : return "BalancethicknessStabilization"; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r13051 r13083 86 86 parameters->AddObject(iomodel->CopyConstantObject(MaterialsRheologyLawEnum)); 87 87 parameters->AddObject(iomodel->CopyConstantObject(AutodiffIsautodiffEnum)); 88 parameters->AddObject(iomodel->CopyConstantObject(AutodiffForwardEnum));89 parameters->AddObject(iomodel->CopyConstantObject(AutodiffReverseEnum));90 88 parameters->AddObject(iomodel->CopyConstantObject(QmuIsdakotaEnum)); 91 89 parameters->AddObject(iomodel->CopyConstantObject(InversionIscontrolEnum)); -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r13056 r13083 18 18 19 19 if(stage==1){ 20 if (strcmp(name,"AutodiffForward")==0) return AutodiffForwardEnum; 21 else if (strcmp(name,"AutodiffIsautodiff")==0) return AutodiffIsautodiffEnum; 22 else if (strcmp(name,"AutodiffReverse")==0) return AutodiffReverseEnum; 20 if (strcmp(name,"AutodiffIsautodiff")==0) return AutodiffIsautodiffEnum; 23 21 else if (strcmp(name,"BalancethicknessSpcthickness")==0) return BalancethicknessSpcthicknessEnum; 24 22 else if (strcmp(name,"BalancethicknessStabilization")==0) return BalancethicknessStabilizationEnum; … … 138 136 else if (strcmp(name,"PrognosticHydrostaticAdjustment")==0) return PrognosticHydrostaticAdjustmentEnum; 139 137 else if (strcmp(name,"PrognosticMinThickness")==0) return PrognosticMinThicknessEnum; 138 else if (strcmp(name,"PrognosticPenaltyFactor")==0) return PrognosticPenaltyFactorEnum; 139 else if (strcmp(name,"PrognosticSpcthickness")==0) return PrognosticSpcthicknessEnum; 140 140 else stage=2; 141 141 } 142 142 if(stage==2){ 143 if (strcmp(name,"PrognosticPenaltyFactor")==0) return PrognosticPenaltyFactorEnum; 144 else if (strcmp(name,"PrognosticSpcthickness")==0) return PrognosticSpcthicknessEnum; 145 else if (strcmp(name,"PrognosticStabilization")==0) return PrognosticStabilizationEnum; 143 if (strcmp(name,"PrognosticStabilization")==0) return PrognosticStabilizationEnum; 146 144 else if (strcmp(name,"PrognosticVertexPairing")==0) return PrognosticVertexPairingEnum; 147 145 else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum; … … 261 259 else if (strcmp(name,"BoolParam")==0) return BoolParamEnum; 262 260 else if (strcmp(name,"Contour")==0) return ContourEnum; 261 else if (strcmp(name,"ControlInput")==0) return ControlInputEnum; 262 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 263 263 else stage=3; 264 264 } 265 265 if(stage==3){ 266 if (strcmp(name,"ControlInput")==0) return ControlInputEnum; 267 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 268 else if (strcmp(name,"DofIndexing")==0) return DofIndexingEnum; 266 if (strcmp(name,"DofIndexing")==0) return DofIndexingEnum; 269 267 else if (strcmp(name,"DoubleInput")==0) return DoubleInputEnum; 270 268 else if (strcmp(name,"DoubleMatArrayParam")==0) return DoubleMatArrayParamEnum; … … 384 382 else if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum; 385 383 else if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum; 384 else if (strcmp(name,"StepResponses")==0) return StepResponsesEnum; 385 else if (strcmp(name,"IntMatParam")==0) return IntMatParamEnum; 386 386 else stage=4; 387 387 } 388 388 if(stage==4){ 389 if (strcmp(name,"StepResponses")==0) return StepResponsesEnum; 390 else if (strcmp(name,"IntMatParam")==0) return IntMatParamEnum; 391 else if (strcmp(name,"RheologyBbarAbsGradient")==0) return RheologyBbarAbsGradientEnum; 389 if (strcmp(name,"RheologyBbarAbsGradient")==0) return RheologyBbarAbsGradientEnum; 392 390 else if (strcmp(name,"DragCoefficientAbsGradient")==0) return DragCoefficientAbsGradientEnum; 393 391 else if (strcmp(name,"TransientInput")==0) return TransientInputEnum; -
issm/trunk-jpl/src/c/solutions/issm.cpp
r13080 r13083 15 15 16 16 /*AD: */ 17 bool autodiff=false; 17 18 #if _ADOLC_VERSION_ == 2 18 19 int tape_stats[11]; … … 49 50 ISSMBOOT(); 50 51 51 /*If running AD, then initialize the tape: */ 52 #ifdef _HAVE_ADOLC_ 53 trace_on(1); 54 #endif 55 52 56 53 /*Initialize environments: Petsc, MPI, etc...: */ 57 54 #ifdef _HAVE_PETSC_ … … 112 109 femmodel->parameters->FindParam(&tao_analysis,InversionTaoEnum); 113 110 femmodel->parameters->FindParam(&profiling,DebugProfilingEnum); 111 femmodel->parameters->FindParam(&autodiff,AutodiffIsautodiffEnum); 114 112 115 113 #ifdef _HAVE_MPI_ … … 117 115 #else 118 116 finish_init=(IssmPDouble)clock(); 117 #endif 118 119 /*If running AD, then initialize the tape: */ 120 #ifdef _HAVE_ADOLC_ 121 if(autodiff) trace_on(1); 119 122 #endif 120 123 … … 165 168 _pprintLine_("write results to disk:"); 166 169 OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); 170 171 /*If running AD, close our tape, print statistics: {{{*/ 172 #ifdef _HAVE_ADOLC_ 173 if(autodiff){ 174 trace_off(); 175 tapestats(1,tape_stats); //reading of tape statistics 176 _pprintLine_(" ADOLC statistics: "); 177 _pprintLine_(" "<<setw(45)<<left<<"Number of independents: " <<tape_stats[0]); 178 _pprintLine_(" "<<setw(45)<<left<<"Number of dependents: " <<tape_stats[1]); 179 _pprintLine_(" "<<setw(45)<<left<<"Maximal number of live active variables: " <<tape_stats[2]); 180 _pprintLine_(" "<<setw(45)<<left<<"Size of value stack (number of overwrites): " <<tape_stats[3]); 181 _pprintLine_(" "<<setw(45)<<left<<"Buffer size (a multiple of eight): " <<tape_stats[4]); 182 _pprintLine_(" "<<setw(45)<<left<<"Total number of operations recorded: " <<tape_stats[5]); 183 } 184 #endif /*}}}*/ 167 185 168 186 /*Close output and petsc options file and write lock file if requested*/ … … 213 231 #endif 214 232 215 /*If running AD, close our tape, print statistics: */216 #ifdef _HAVE_ADOLC_217 trace_off();218 tapestats(1,tape_stats); //reading of tape statistics219 _pprintLine_(" ADOLC statistics: ");220 _pprintLine_(" "<<setw(45)<<left<<"Number of independents: " <<tape_stats[0]);221 _pprintLine_(" "<<setw(45)<<left<<"Number of dependents: " <<tape_stats[1]);222 _pprintLine_(" "<<setw(45)<<left<<"Maximal number of live active variables: " <<tape_stats[2]);223 _pprintLine_(" "<<setw(45)<<left<<"Size of value stack (number of overwrites): " <<tape_stats[3]);224 _pprintLine_(" "<<setw(45)<<left<<"Buffer size (a multiple of eight): " <<tape_stats[4]);225 _pprintLine_(" "<<setw(45)<<left<<"Total number of operations recorded: " <<tape_stats[5]);226 #endif227 233 228 234 /*end module: */ -
issm/trunk-jpl/src/m/classes/autodiff.m
r12663 r13083 7 7 properties (SetAccess=public) 8 8 isautodiff = false; 9 forward = true;10 reverse = false;11 9 end 12 10 methods … … 29 27 30 28 fielddisplay(obj,'isautodiff','indicates if the automatic differentiation is activated'); 31 fielddisplay(obj,'forward','forward differentiation');32 fielddisplay(obj,'reverse','backward differentiation');33 29 34 30 end % }}} 35 31 function marshall(obj,fid) % {{{ 36 32 WriteData(fid,'object',obj,'fieldname','isautodiff','format','Boolean'); 37 WriteData(fid,'object',obj,'fieldname','forward','format','Boolean');38 WriteData(fid,'object',obj,'fieldname','reverse','format','Boolean');39 33 end % }}} 40 34 end -
issm/trunk-jpl/src/m/classes/autodiff.py
r13023 r13083 17 17 # {{{ Properties 18 18 self.isautodiff = False 19 self.forward = True20 self.reverse = False21 19 22 20 #set defaults … … 28 26 string=' automatic differentiation parameters:' 29 27 string="%s\n%s"%(string,fielddisplay(self,'isautodiff','indicates if the automatic differentiation is activated')) 30 string="%s\n%s"%(string,fielddisplay(self,'forward','forward differentiation'))31 string="%s\n%s"%(string,fielddisplay(self,'reverse','backward differentiation'))32 28 return string 33 29 #}}} … … 43 39 def marshall(self,fid): # {{{ 44 40 WriteData(fid,'object',self,'fieldname','isautodiff','format','Boolean') 45 WriteData(fid,'object',self,'fieldname','forward','format','Boolean')46 WriteData(fid,'object',self,'fieldname','reverse','format','Boolean')47 41 # }}} 48 42 -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r13047 r13083 9 9 """ 10 10 11 def AutodiffForwardEnum():12 """13 AUTODIFFFORWARDENUM - Enum of AutodiffForward14 15 Usage:16 macro=AutodiffForwardEnum()17 """18 19 return StringToEnum('AutodiffForward')[0]20 21 11 def AutodiffIsautodiffEnum(): 22 12 """ … … 29 19 return StringToEnum('AutodiffIsautodiff')[0] 30 20 31 def AutodiffReverseEnum():32 """33 AUTODIFFREVERSEENUM - Enum of AutodiffReverse34 35 Usage:36 macro=AutodiffReverseEnum()37 """38 39 return StringToEnum('AutodiffReverse')[0]40 41 21 def BalancethicknessSpcthicknessEnum(): 42 22 """ … … 4627 4607 """ 4628 4608 4629 return 4 614630 4609 return 459 4610 -
issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
r13047 r13083 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro=4 61;11 macro=459;
Note:
See TracChangeset
for help on using the changeset viewer.