Changeset 9702
- Timestamp:
- 09/08/11 15:48:24 (14 years ago)
- Location:
- issm/trunk
- Files:
-
- 7 added
- 7 deleted
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9691 r9702 35 35 SettingsLowmemEnum, 36 36 SettingsIoGatherEnum, 37 SettingsResultsOnVerticesEnum, 38 SettingsOutputFrequencyEnum, 39 SettingsWaitonlockEnum, 37 40 ThermalSpctemperatureEnum, 38 41 ThermalPenaltyThresholdEnum, … … 141 144 BathymetryEnum, 142 145 SurfaceEnum, 146 AutodiffAnalysisEnum, 147 AutodiffForwardEnum, 148 AutodiffReverseEnum, 143 149 /*}}}*/ 144 150 /*Datasets {{{1*/ … … 364 370 PatchNodesEnum, 365 371 TimeEnum, 366 OutputFrequencyEnum,367 372 WaterColumnOldEnum, 368 373 /*}}}*/ … … 472 477 WaterfractionEnum, 473 478 WatercolumnEnum, 474 WaitonlockEnum,475 479 NumberOfResponsesEnum, 476 480 BasalFrictionEnum, … … 481 485 SpcDynamicEnum, 482 486 NumberOfEdgesEnum, 483 ResultsOnVerticesEnum, 484 /*Automatic Differentiation {{{1*/ 485 AdAnalysisEnum, 486 AdForwardEnum, 487 AdReverseEnum, 488 /*}}}*/ 487 489 488 MaximumNumberOfEnums 490 489 }; -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9691 r9702 39 39 case SettingsLowmemEnum : return "SettingsLowmem"; 40 40 case SettingsIoGatherEnum : return "SettingsIoGather"; 41 case SettingsResultsOnVerticesEnum : return "SettingsResultsOnVertices"; 42 case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency"; 43 case SettingsWaitonlockEnum : return "SettingsWaitonlock"; 41 44 case ThermalSpctemperatureEnum : return "ThermalSpctemperature"; 42 45 case ThermalPenaltyThresholdEnum : return "ThermalPenaltyThreshold"; … … 145 148 case BathymetryEnum : return "Bathymetry"; 146 149 case SurfaceEnum : return "Surface"; 150 case AutodiffAnalysisEnum : return "AutodiffAnalysis"; 151 case AutodiffForwardEnum : return "AutodiffForward"; 152 case AutodiffReverseEnum : return "AutodiffReverse"; 147 153 case ConstraintsEnum : return "Constraints"; 148 154 case ElementsEnum : return "Elements"; … … 327 333 case PatchNodesEnum : return "PatchNodes"; 328 334 case TimeEnum : return "Time"; 329 case OutputFrequencyEnum : return "OutputFrequency";330 335 case WaterColumnOldEnum : return "WaterColumnOld"; 331 336 case MinVelEnum : return "MinVel"; … … 416 421 case WaterfractionEnum : return "Waterfraction"; 417 422 case WatercolumnEnum : return "Watercolumn"; 418 case WaitonlockEnum : return "Waitonlock";419 423 case NumberOfResponsesEnum : return "NumberOfResponses"; 420 424 case BasalFrictionEnum : return "BasalFriction"; … … 425 429 case SpcDynamicEnum : return "SpcDynamic"; 426 430 case NumberOfEdgesEnum : return "NumberOfEdges"; 427 case ResultsOnVerticesEnum : return "ResultsOnVertices";428 case AdAnalysisEnum : return "AdAnalysis";429 case AdForwardEnum : return "AdForward";430 case AdReverseEnum : return "AdReverse";431 431 default : return "unknown"; 432 432 -
issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
r9680 r9702 29 29 parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsmacayealpattynEnum)); 30 30 parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsstokesEnum)); 31 parameters->AddObject(iomodel->CopyConstantObject( OutputFrequencyEnum));31 parameters->AddObject(iomodel->CopyConstantObject(SettingsOutputFrequencyEnum)); 32 32 parameters->AddObject(iomodel->CopyConstantObject(DiagnosticRestolEnum)); 33 33 parameters->AddObject(iomodel->CopyConstantObject(DiagnosticReltolEnum)); … … 59 59 parameters->AddObject(iomodel->CopyConstantObject(DiagnosticShelfDampeningEnum)); 60 60 parameters->AddObject(iomodel->CopyConstantObject(DiagnosticViscosityOvershootEnum)); 61 parameters->AddObject(iomodel->CopyConstantObject( WaitonlockEnum));61 parameters->AddObject(iomodel->CopyConstantObject(SettingsWaitonlockEnum)); 62 62 parameters->AddObject(iomodel->CopyConstantObject(NumberOfElementsEnum)); 63 63 parameters->AddObject(iomodel->CopyConstantObject(SettingsIoGatherEnum)); -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9691 r9702 37 37 else if (strcmp(name,"SettingsLowmem")==0) return SettingsLowmemEnum; 38 38 else if (strcmp(name,"SettingsIoGather")==0) return SettingsIoGatherEnum; 39 else if (strcmp(name,"SettingsResultsOnVertices")==0) return SettingsResultsOnVerticesEnum; 40 else if (strcmp(name,"SettingsOutputFrequency")==0) return SettingsOutputFrequencyEnum; 41 else if (strcmp(name,"SettingsWaitonlock")==0) return SettingsWaitonlockEnum; 39 42 else if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum; 40 43 else if (strcmp(name,"ThermalPenaltyThreshold")==0) return ThermalPenaltyThresholdEnum; … … 143 146 else if (strcmp(name,"Bathymetry")==0) return BathymetryEnum; 144 147 else if (strcmp(name,"Surface")==0) return SurfaceEnum; 148 else if (strcmp(name,"AutodiffAnalysis")==0) return AutodiffAnalysisEnum; 149 else if (strcmp(name,"AutodiffForward")==0) return AutodiffForwardEnum; 150 else if (strcmp(name,"AutodiffReverse")==0) return AutodiffReverseEnum; 145 151 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 146 152 else if (strcmp(name,"Elements")==0) return ElementsEnum; … … 325 331 else if (strcmp(name,"PatchNodes")==0) return PatchNodesEnum; 326 332 else if (strcmp(name,"Time")==0) return TimeEnum; 327 else if (strcmp(name,"OutputFrequency")==0) return OutputFrequencyEnum;328 333 else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum; 329 334 else if (strcmp(name,"MinVel")==0) return MinVelEnum; … … 414 419 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum; 415 420 else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum; 416 else if (strcmp(name,"Waitonlock")==0) return WaitonlockEnum;417 421 else if (strcmp(name,"NumberOfResponses")==0) return NumberOfResponsesEnum; 418 422 else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum; … … 423 427 else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum; 424 428 else if (strcmp(name,"NumberOfEdges")==0) return NumberOfEdgesEnum; 425 else if (strcmp(name,"ResultsOnVertices")==0) return ResultsOnVerticesEnum;426 else if (strcmp(name,"AdAnalysis")==0) return AdAnalysisEnum;427 else if (strcmp(name,"AdForward")==0) return AdForwardEnum;428 else if (strcmp(name,"AdReverse")==0) return AdReverseEnum;429 429 else _error_("Enum %s not found",name); 430 430 -
issm/trunk/src/c/solutions/issm.cpp
r9681 r9702 86 86 87 87 /*get parameters: */ 88 femmodel->parameters->FindParam(&waitonlock, WaitonlockEnum);88 femmodel->parameters->FindParam(&waitonlock,SettingsWaitonlockEnum); 89 89 femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum); 90 90 femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum); -
issm/trunk/src/c/solutions/transient_core.cpp
r9681 r9702 36 36 femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum); 37 37 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 38 femmodel->parameters->FindParam(&output_frequency, OutputFrequencyEnum);38 femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum); 39 39 femmodel->parameters->FindParam(&time_adapt,TimesteppingTimeAdaptEnum); 40 40 femmodel->parameters->FindParam(&groundingline_migration,GroundinglineMigrationEnum); -
issm/trunk/src/m/classes/model/model.m
r9691 r9702 82 82 nodeonbed = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',1); 83 83 nodeonsurface = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',1); 84 minh = modelfield('default',0,'marshall',false);85 84 86 85 %Extraction … … 93 92 %Statics parameters 94 93 connectivity = modelfield('default',0,'marshall',true,'format','Integer'); 95 96 97 %Results fields98 output_frequency = modelfield('default',0,'marshall',true,'format','Integer');99 results_on_vertices = modelfield('default',0,'marshall',true,'format','Boolean');100 101 %Parallelisation102 outlog = modelfield('default','','marshall',false);103 errlog = modelfield('default','','marshall',false);104 waitonlock = modelfield('default',0,'marshall',true,'format','Boolean');105 106 %ad: automatic differentiation107 ad_analysis = modelfield('default',false,'marshall',true,'format','Boolean');108 ad_forward = modelfield('default',true,'marshall',true,'format','Boolean');109 ad_reverse = modelfield('default',false,'marshall',true,'format','Boolean');110 94 %}}} 111 95 end … … 477 461 md.initialization = initialization; 478 462 md.geometry = geometry; 479 480 %Solver parameters 463 md.verbose = verbose('solution',true,'qmu',true,'control',true); 481 464 482 465 %the connectivity is the avergaded number of nodes linked to a … … 486 469 %trunk/test/Miscellaneous/runme.m 487 470 md.connectivity=25; 488 489 490 %parameter used to print temporary results (convergence criterion,491 %current step,...)492 md.verbose=verbose('solution',true,'qmu',true,'control',true);493 494 %minimum thickness to avoid stiffness singularity, used in495 %the parameter file496 md.minh=1;497 498 %How often to save results, default is 1 so save every step499 md.output_frequency=1;500 501 %this option can be activated to load automatically the results502 %onto the model after a parallel run by waiting for the lock file503 %N minutes that is generated once the solution has converged504 %0 to desactivate505 md.waitonlock=Inf;506 471 end 507 472 %}}} 508 function result = subsref(md,index) % {{{1509 510 if length(index)==1,511 index1=index(1);512 if(strcmp(index1.subs,'mesh')), displaymesh(md);return; end513 if(strcmp(index1.subs,'bc')), displaybc(md);return; end514 if(strcmp(index1.subs,'mat')), displaymaterials(md);return; end515 if(strcmp(index1.subs,'par')), displayparameters(md);return; end516 if(strcmp(index1.subs,'res')), displayresults(md);return; end517 if(strcmp(index1.subs,'parallel')), displayparallel(md);return; end518 end519 520 %return built in value521 result=builtin('subsref',md,index);522 end %}}}523 473 end 524 474 end -
issm/trunk/src/m/classes/settings.m
r9622 r9702 6 6 classdef settings 7 7 properties (SetAccess=public) 8 io_gather = modelfield('default',0,'marshall',true,'format','Boolean'); 9 lowmem = modelfield('default',0,'marshall',true,'format','Boolean'); 8 io_gather = modelfield('default',0,'marshall',true,'format','Boolean'); 9 lowmem = modelfield('default',0,'marshall',true,'format','Boolean'); 10 results_on_vertices = modelfield('default',0,'marshall',true,'format','Boolean'); 11 output_frequency = modelfield('default',0,'marshall',true,'format','Boolean'); 12 waitonlock = modelfield('default',0,'marshall',true,'format','Boolean'); 10 13 end 11 14 methods … … 34 37 end 35 38 36 % lowmem??39 %are we short in memory ? (0 faster but requires more memory) 37 40 obj.lowmem=0; 38 41 39 42 %i/o: 40 43 obj.io_gather=1; 44 45 %results frequency by default every step 46 obj.output_frequency=1; 47 48 %this option can be activated to load automatically the results 49 %onto the model after a parallel run by waiting for the lock file 50 %N minutes that is generated once the solution has converged 51 %0 to desactivate 52 md.waitonlock=Inf; 41 53 end % }}} 42 54 end -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9691 r9702 284 284 if strcmpi(md.private.solution,'qmu'), 285 285 if ~strcmpi(md.cluster.name,'none'), 286 if md. waitonlock==0,286 if md.settings.waitonlock==0, 287 287 message(['model is not correctly configured: waitonlock should be activated when running qmu in parallel mode!']); 288 288 end -
issm/trunk/src/m/model/loadresultsfromcluster.m
r9650 r9702 14 14 %Download outputs from the cluster 15 15 cluster.Download(md); 16 17 %read log files onto fields18 if exist([md.miscellaneous.name '.errlog'],'file'),19 md.errlog=char(textread([md.miscellaneous.name '.errlog'],'%s','delimiter','\n'));20 else21 md.errlog='';22 end23 24 if exist([md.miscellaneous.name '.outlog'],'file'),25 md.outlog=char(textread([md.miscellaneous.name '.outlog'],'%s','delimiter','\n'));26 else27 md.outlog='';28 end29 30 if ~isempty(md.errlog),31 disp(['loadresultsfromcluster info message: error during solution. Check your errlog and outlog model fields']);32 end33 16 34 17 %If we are here, no errors in the solution sequence, call loadresultsfromdisk. -
issm/trunk/src/m/model/loadresultsfromdisk.m
r9650 r9702 25 25 md.private.solution=structure(1).SolutionType; 26 26 27 %read log files onto fields 28 if exist([md.miscellaneous.name '.errlog'],'file'), 29 md.results.(structure(1).SolutionType).errlog=char(textread([md.miscellaneous.name '.errlog'],'%s','delimiter','\n')); 30 else 31 md.results.(structure(1).SolutionType).errlog=''; 32 end 33 34 if exist([md.miscellaneous.name '.outlog'],'file'), 35 md.results.(structure(1).SolutionType).outlog=char(textread([md.miscellaneous.name '.outlog'],'%s','delimiter','\n')); 36 else 37 md.iresults.(structure(1).SolutionType).outlog=''; 38 end 39 40 if ~isempty(md.results.(structure(1).SolutionType).errlog), 41 disp(['loadresultsfromcluster info message: error during solution. Check your errlog and outlog model fields']); 42 end 43 44 27 45 %post processes qmu results if necessary 28 46 else -
issm/trunk/src/m/model/solveparallel.m
r9650 r9702 25 25 26 26 %Do we return, or just wait for results? 27 if (md. waitonlock>0 & ~strcmpi(options.batch,'yes')),27 if (md.settings.waitonlock>0 & ~strcmpi(options.batch,'yes')), 28 28 %we wait for the done file 29 29 islock=waitonlock(md); -
issm/trunk/src/m/model/waitonlock.m
r9625 r9702 13 13 login=md.cluster.login; 14 14 port=md.cluster.port; 15 timelimit=md. waitonlock;15 timelimit=md.settings.waitonlock; 16 16 filename=[executionpath '/' md.private.runtimename '/' md.miscellaneous.name '.lock']; 17 17 … … 49 49 %build output 50 50 if (time>timelimit), 51 disp('Time limit exceeded. Increase md. waitonlock');51 disp('Time limit exceeded. Increase md.settings.waitonlock'); 52 52 disp('The results must be loaded manually with md=loadresultsfromcluster(md).'); 53 53 error(['waitonlock error message: time limit exceeded']); -
issm/trunk/src/m/solutions/transient_core.m
r9681 r9702 12 12 control_analysis=femmodel.parameters.InversionIscontrol; 13 13 solution_type=femmodel.parameters.SolutionType; 14 output_frequency=femmodel.parameters. OutputFrequency;14 output_frequency=femmodel.parameters.SettingsOutputFrequency; 15 15 time_adapt=femmodel.parameters.TimesteppingTimeAdapt; 16 16 isdiagnostic=femmodel.parameters.TransientIsdiagnostic; -
issm/trunk/template
r9691 r9702 49 49 -> already exists 50 50 }}} 51 results{{{52 results_on_vertices53 output_frequency54 outlog55 errlog56 + all model results ??? (DiagnosticSolution and others?)57 }}} -
issm/trunk/test/Miscellaneous/Bump/Bump.par
r9691 r9702 32 32 33 33 %Parallel options 34 md. waitonlock=1;34 md.settings.waitonlock=1; 35 35 md.connectivity=100; -
issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par
r9691 r9702 28 28 md.prognostic.stabilization=1; 29 29 md.thermal.stabilization=1; 30 md. waitonlock=30;30 md.settings.waitonlock=30; 31 31 md.verbose=verbose(0); 32 32 md.eps_res=0.10; -
issm/trunk/test/Miscellaneous/connectivity/Square.par
r9691 r9702 36 36 md.np=8; 37 37 md.time=50; 38 md. waitonlock=1;38 md.settings.waitonlock=1; 39 39 md.debug=1; -
issm/trunk/test/Par/79North.par
r9691 r9702 34 34 md.thermal.stabilization=1; 35 35 md.verbose=verbose(0); 36 md. waitonlock=30;36 md.settings.waitonlock=30; 37 37 md.timestepping.time_step=1; 38 38 md.timestepping.final_time=3; -
issm/trunk/test/Par/Pig.par
r9691 r9702 31 31 md.prognostic.stabilization=1; 32 32 md.verbose=verbose(0); 33 md. waitonlock=30;33 md.settings.waitonlock=30; 34 34 md.timestepping.time_step=1; 35 35 md.timestepping.final_time=2; -
issm/trunk/test/Par/RoundSheetShelf.par
r9693 r9702 61 61 md.thermal.stabilization=1; 62 62 md.verbose=verbose(0); 63 md. waitonlock=30;63 md.settings.waitonlock=30; 64 64 md.diagnostic.restol=0.05; 65 65 md.diagnostic.reltol=0.05; -
issm/trunk/test/Par/SquareSheetConstrained.par
r9691 r9702 35 35 md.thermal.stabilization=1; 36 36 md.verbose=verbose(0); 37 md. waitonlock=30;37 md.settings.waitonlock=30; 38 38 md.diagnostic.restol=0.05; 39 39 md.steadystate.reltol=0.05; -
issm/trunk/test/Par/SquareSheetShelf.par
r9691 r9702 42 42 md.thermal.stabilization=1; 43 43 md.verbose=verbose(0); 44 md. waitonlock=30;44 md.settings.waitonlock=30; 45 45 md.diagnostic.restol=0.05; 46 46 md.steadystate.reltol=0.05; -
issm/trunk/test/Par/SquareShelf.par
r9691 r9702 34 34 md.prognostic.stabilization=1; 35 35 md.thermal.stabilization=1; 36 md. waitonlock=30;36 md.settings.waitonlock=30; 37 37 md.verbose=verbose(0); 38 38 md.diagnostic.restol=0.10; -
issm/trunk/test/Par/SquareShelfConstrained.par
r9691 r9702 39 39 md.thermal.stabilization=1; 40 40 md.verbose=verbose(0); 41 md. waitonlock=30;41 md.settings.waitonlock=30; 42 42 md.diagnostic.restol=0.05; 43 43 md.diagnostic.reltol=0.05;
Note:
See TracChangeset
for help on using the changeset viewer.