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

Last change on this file since 3793 was 3793, checked in by seroussi, 15 years ago

names changed in matlab

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