source: issm/trunk/src/m/solutions/steadystate.m@ 4322

Last change on this file since 4322 was 4322, checked in by Mathieu Morlighem, 15 years ago

copied change from diagnostic to other solutions

File size: 1.5 KB
Line 
1function md=steadystate(md);
2%STEADYSTATE - compute the velocity and temperature field of a model in steady state.
3%
4% Usage:
5% md=steadystate(md)
6%
7
8 %timing
9 t1=clock;
10
11 numanalyses=8;
12 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
13 solution_type=SteadyStateSolutionEnum;
14
15 displaystring(md.verbose,'%s',['create finite element model']);
16 femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
17
18 %retrieve parameters
19 verbose=femmodel.parameters.Verbose;
20 qmu_analysis=femmodel.parameters.QmuAnalysis;
21 control_analysis=femmodel.parameters.ControlAnalysis;
22
23 %compute solution
24 if ~qmu_analysis,
25 if ~control_analysis,
26
27 displaystring(verbose,'%s',['call computational core']);
28 femmodel=steadystate_core(femmodel);
29
30 else,
31
32 displaystring(verbose,'%s',['call computational core']);
33 femmodel=control_core(femmodel);
34
35 end
36
37 displaystring(verbose,'%s',['write results']);
38 results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
39 md.results.(EnumAsString(solution_type))=ProcessPatch(results);
40
41 else
42 %launch dakota driver for diagnostic core solution
43 Qmu(femmodel);
44 end
45
46 %stop timing
47 t2=clock;
48 displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Note: See TracBrowser for help on using the repository browser.