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

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

use variable to call new FemModel (do not hardcore)

File size: 1.4 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=7;
12 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SlopeAnalysisEnum;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 md.results.steadystate=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
39
40 else
41 %launch dakota driver for diagnostic core solution
42 Qmu(femmodel);
43 end
44
45 %stop timing
46 t2=clock;
47 displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Note: See TracBrowser for help on using the repository browser.