Changeset 18553
- Timestamp:
- 10/01/14 05:58:08 (10 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r18551 r18553 274 274 ThermalIsenthalpyEnum, 275 275 ThermalIsdynamicbasalspcEnum, 276 ThermalReltolEnum, 276 277 ThermalMaxiterEnum, 277 278 ThermalPenaltyFactorEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r18551 r18553 282 282 case ThermalIsenthalpyEnum : return "ThermalIsenthalpy"; 283 283 case ThermalIsdynamicbasalspcEnum : return "ThermalIsdynamicbasalspc"; 284 case ThermalReltolEnum : return "ThermalReltol"; 284 285 case ThermalMaxiterEnum : return "ThermalMaxiter"; 285 286 case ThermalPenaltyFactorEnum : return "ThermalPenaltyFactor"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r18551 r18553 288 288 else if (strcmp(name,"ThermalIsenthalpy")==0) return ThermalIsenthalpyEnum; 289 289 else if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum; 290 else if (strcmp(name,"ThermalReltol")==0) return ThermalReltolEnum; 290 291 else if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum; 291 292 else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum; … … 382 383 else if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum; 383 384 else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum; 384 else if (strcmp(name,"MasstransportAnalysis")==0) return MasstransportAnalysisEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum; 388 if (strcmp(name,"MasstransportAnalysis")==0) return MasstransportAnalysisEnum; 389 else if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum; 389 390 else if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum; 390 391 else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum; … … 505 506 else if (strcmp(name,"Fill")==0) return FillEnum; 506 507 else if (strcmp(name,"FractionIncrement")==0) return FractionIncrementEnum; 507 else if (strcmp(name,"Friction")==0) return FrictionEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"Internal")==0) return InternalEnum; 511 if (strcmp(name,"Friction")==0) return FrictionEnum; 512 else if (strcmp(name,"Internal")==0) return InternalEnum; 512 513 else if (strcmp(name,"MassFlux")==0) return MassFluxEnum; 513 514 else if (strcmp(name,"MeltingOffset")==0) return MeltingOffsetEnum; … … 628 629 else if (strcmp(name,"MisfitModelEnum")==0) return MisfitModelEnumEnum; 629 630 else if (strcmp(name,"MisfitObservation")==0) return MisfitObservationEnum; 630 else if (strcmp(name,"MisfitObservationEnum")==0) return MisfitObservationEnumEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"MisfitTimeinterpolation")==0) return MisfitTimeinterpolationEnum; 634 if (strcmp(name,"MisfitObservationEnum")==0) return MisfitObservationEnumEnum; 635 else if (strcmp(name,"MisfitTimeinterpolation")==0) return MisfitTimeinterpolationEnum; 635 636 else if (strcmp(name,"MisfitWeights")==0) return MisfitWeightsEnum; 636 637 else if (strcmp(name,"MisfitWeightsEnum")==0) return MisfitWeightsEnumEnum; … … 751 752 else if (strcmp(name,"MaterialsPoisson")==0) return MaterialsPoissonEnum; 752 753 else if (strcmp(name,"MaterialsYoungModulus")==0) return MaterialsYoungModulusEnum; 753 else if (strcmp(name,"MaterialsTimeRelaxationStress")==0) return MaterialsTimeRelaxationStressEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"MaterialsTimeRelaxationDamage")==0) return MaterialsTimeRelaxationDamageEnum; 757 if (strcmp(name,"MaterialsTimeRelaxationStress")==0) return MaterialsTimeRelaxationStressEnum; 758 else if (strcmp(name,"MaterialsTimeRelaxationDamage")==0) return MaterialsTimeRelaxationDamageEnum; 758 759 else if (strcmp(name,"MaterialsRidgingExponent")==0) return MaterialsRidgingExponentEnum; 759 760 else if (strcmp(name,"MaterialsCohesion")==0) return MaterialsCohesionEnum; -
issm/trunk-jpl/src/m/classes/thermal.m
r18068 r18553 9 9 penalty_threshold = 0; 10 10 stabilization = 0; 11 reltol = 0; 11 12 maxiter = 0; 12 13 penalty_lock = 0; … … 31 32 32 33 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="stabilization" type="',class(obj.stabilization),'" default="',convert2str(obj.stabilization),'">',' <section name="thermal" />',' <help> maximum number of non linear iterations </help>',' </parameter>'); 34 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="reltol" type="',class(obj.reltol),'" default="',convert2str(obj.reltol),'">',' <section name="steadystate" />',' <help> relative tolerance criterion [K] </help>',' </parameter>'); 33 35 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="maxiter" type="',class(obj.maxiter),'" default="',convert2str(obj.maxiter),'">',' <section name="thermal" />',' <help> stabilize unstable thermal constraints that keep zigzagging after n iteration (default is 0, no stabilization) </help>',' </parameter>'); 34 36 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="penalty_lock" type="',class(obj.penalty_lock),'" default="',convert2str(obj.penalty_lock),'">',' <section name="thermal" />',' <help> threshold to declare convergence of thermal solution (default is 0) </help>',' </parameter>'); … … 65 67 obj.stabilization=1; 66 68 69 %Relative tolerance for the enthalpy convergence 70 obj.reltol=0.01; 71 67 72 %Maximum number of iterations 68 73 obj.maxiter=100; … … 94 99 md = checkfield(md,'fieldname','thermal.isdynamicbasalspc','numel', [1],'values',[0 1]); 95 100 if(md.thermal.isenthalpy) 101 md = checkfield(md,'fieldname','thermal.reltol','>',0.,'message','reltol must be larger than zero'); 102 if isnan(md.stressbalance.reltol), 103 md = checkmessage(md,['for a steadystate computation, stressbalance.reltol (relative convergence criterion) must be defined!']); 104 end 96 105 md = checkfield(md,'fieldname','thermal.isdynamicbasalspc','numel', [1],'values',[1], 'message',['for enthalpy run thermal.isdynamicbasalspc should be 1']); 97 106 end … … 105 114 fielddisplay(obj,'spctemperature','temperature constraints (NaN means no constraint) [K]'); 106 115 fielddisplay(obj,'stabilization','0: no, 1: artificial_diffusivity, 2: SUPG'); 116 fielddisplay(obj,'reltol','relative tolerance convergence criterion for enthalpy'); 107 117 fielddisplay(obj,'maxiter','maximum number of non linear iterations'); 108 118 fielddisplay(obj,'penalty_lock','stabilize unstable thermal constraints that keep zigzagging after n iteration (default is 0, no stabilization)'); … … 118 128 WriteData(fid,'object',obj,'fieldname','penalty_threshold','format','Integer'); 119 129 WriteData(fid,'object',obj,'fieldname','stabilization','format','Integer'); 130 WriteData(fid,'object',obj,'fieldname','reltol','format','Double'); 120 131 WriteData(fid,'object',obj,'fieldname','maxiter','format','Integer'); 121 132 WriteData(fid,'object',obj,'fieldname','penalty_lock','format','Integer'); -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r18551 r18553 274 274 def ThermalIsenthalpyEnum(): return StringToEnum("ThermalIsenthalpy")[0] 275 275 def ThermalIsdynamicbasalspcEnum(): return StringToEnum("ThermalIsdynamicbasalspc")[0] 276 def ThermalReltolEnum(): return StringToEnum("ThermalReltol")[0] 276 277 def ThermalMaxiterEnum(): return StringToEnum("ThermalMaxiter")[0] 277 278 def ThermalPenaltyFactorEnum(): return StringToEnum("ThermalPenaltyFactor")[0]
Note:
See TracChangeset
for help on using the changeset viewer.