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
RevLine 
[1860]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
[4296]11 numanalyses=7;
[4294]12 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
13 solution_type=SteadyStateSolutionEnum;
[1860]14
[4102]15 displaystring(md.verbose,'%s',['create finite element model']);
[4296]16 femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
[1860]17
[4102]18 %retrieve parameters
19 verbose=femmodel.parameters.Verbose;
20 qmu_analysis=femmodel.parameters.QmuAnalysis;
21 control_analysis=femmodel.parameters.ControlAnalysis;
[1860]22
23 %compute solution
[4102]24 if ~qmu_analysis,
25 if ~control_analysis,
26
27 displaystring(verbose,'%s',['call computational core']);
[4120]28 femmodel=steadystate_core(femmodel);
[1999]29
30 else,
[4102]31
32 displaystring(verbose,'%s',['call computational core']);
[4120]33 femmodel=control_core(femmodel);
[4102]34
[1999]35 end
[4135]36
37 displaystring(verbose,'%s',['write results']);
[4184]38 md.results.steadystate=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
[4135]39
[1860]40 else
[4102]41 %launch dakota driver for diagnostic core solution
42 Qmu(femmodel);
[1860]43 end
44
45 %stop timing
46 t2=clock;
[2330]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.