source: issm/trunk/src/m/solutions/jpl/diagnostic.m@ 3752

Last change on this file since 3752 was 3752, checked in by Eric.Larour, 15 years ago

Started migration of serial solution

File size: 2.0 KB
RevLine 
[738]1function md=diagnostic(md);
[302]2%DIAGNOSTIC - compute the velocity field of a model
[738]3%
[129]4% Usage:
5% md=diagnostic(md)
[302]6%
[1]7 %timing
8 t1=clock;
9
10 %Build all models requested for diagnostic simulation
[1647]11 models.analysis_type=DiagnosticAnalysisEnum; %needed for processresults
[2333]12
[2330]13 displaystring(md.verbose,'%s',['reading diagnostic horiz model data']);
[1647]14 md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=HorizAnalysisEnum; models.dh=CreateFemModel(md);
[2333]15
[2330]16 displaystring(md.verbose,'\n%s',['reading diagnostic vert model data']);
[1647]17 md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=VertAnalysisEnum; models.dv=CreateFemModel(md);
[302]18
[2330]19 displaystring(md.verbose,'\n%s',['reading diagnostic stokes model data']);
[1647]20 md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=StokesAnalysisEnum; models.ds=CreateFemModel(md);
[1629]21
[2330]22 displaystring(md.verbose,'\n%s',['reading diagnostic hutter model data']);
[1647]23 md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=HutterAnalysisEnum; models.dhu=CreateFemModel(md);
[302]24
[2330]25 displaystring(md.verbose,'\n%s',['reading surface and bed slope computation model data']);
[3085]26 md.analysis_type=SlopecomputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
[302]27
[1]28 % figure out number of dof: just for information purposes.
[922]29 md.dof=modelsize(models);
[1]30
[302]31 %compute solution
[959]32 if ~models.dh.parameters.qmu_analysis,
[1907]33 if md.control_analysis,
34 %launch core of control solution.
[3715]35 results=control_core(models);
[1907]36
37 %process results
38 if ~isstruct(md.results), md.results=struct(); end
[1963]39 md.results.diagnostic=processresults(models,results);
[1907]40 else,
41 %launch core of diagnostic solution.
[3715]42 results=diagnostic_core(models);
[1907]43
44 %process results
45 if ~isstruct(md.results), md.results=struct(); end
46 md.results.diagnostic=processresults(models,results);
47 end
[959]48 else
49 %launch dakota driver for diagnostic core solution
[3715]50 Qmu(models,models.dh.parameters);
[959]51 end
[1]52
[302]53 %stop timing
[1]54 t2=clock;
[2330]55 displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Note: See TracBrowser for help on using the repository browser.